diff --git a/.gitignore b/.gitignore index 43f33783e3979f99a7eed0a278ab0eea7afaa89c..43f3cab9121ba3a64d453d6e51d82c0498ef94c0 100644 --- a/.gitignore +++ b/.gitignore @@ -15,6 +15,13 @@ !/apps/files_versions !/apps/user_ldap !/apps/user_webdavauth +/apps/files_external/3rdparty/irodsphp/PHPUnitTest +/apps/files_external/3rdparty/irodsphp/web +/apps/files_external/3rdparty/irodsphp/prods/test +/apps/files_external/3rdparty/irodsphp/prods/tutorials +/apps/files_external/3rdparty/irodsphp/prods/test* + + # ignore themes except the README /themes/* diff --git a/3rdparty b/3rdparty index 25e8568d41a9b9a6d1662ccf33058822a890e7f5..2f3ae9f56a9838b45254393e13c14f8a8c380d6b 160000 --- a/3rdparty +++ b/3rdparty @@ -1 +1 @@ -Subproject commit 25e8568d41a9b9a6d1662ccf33058822a890e7f5 +Subproject commit 2f3ae9f56a9838b45254393e13c14f8a8c380d6b diff --git a/apps/files/appinfo/remote.php b/apps/files/appinfo/remote.php index 6c92cc80b69830bc46fa6b4889a5df5140e0b283..9b114ca2e37209ddc8fd739ff99c5456c6341f23 100644 --- a/apps/files/appinfo/remote.php +++ b/apps/files/appinfo/remote.php @@ -23,7 +23,7 @@ * */ // load needed apps -$RUNTIME_APPTYPES=array('filesystem', 'authentication', 'logging'); +$RUNTIME_APPTYPES = array('filesystem', 'authentication', 'logging'); OC_App::loadApps($RUNTIME_APPTYPES); @@ -35,15 +35,17 @@ $lockBackend = new OC_Connector_Sabre_Locks(); $requestBackend = new OC_Connector_Sabre_Request(); // Create ownCloud Dir -$publicDir = new OC_Connector_Sabre_Directory(''); +$rootDir = new OC_Connector_Sabre_Directory(''); +$objectTree = new \OC\Connector\Sabre\ObjectTree($rootDir); // Fire up server -$server = new Sabre_DAV_Server($publicDir); +$server = new Sabre_DAV_Server($objectTree); $server->httpRequest = $requestBackend; $server->setBaseUri($baseuri); // Load plugins -$server->addPlugin(new Sabre_DAV_Auth_Plugin($authBackend, 'ownCloud')); +$defaults = new OC_Defaults(); +$server->addPlugin(new Sabre_DAV_Auth_Plugin($authBackend, $defaults->getName())); $server->addPlugin(new Sabre_DAV_Locks_Plugin($lockBackend)); $server->addPlugin(new Sabre_DAV_Browser_Plugin(false)); // Show something in the Browser, but no upload $server->addPlugin(new OC_Connector_Sabre_QuotaPlugin()); diff --git a/apps/files/css/files.css b/apps/files/css/files.css index f2ca1065ecad4fc977a0135dfefb0bf85fcfb699..117aac4c93e8ed977d42d467f085b0361ee67b2c 100644 --- a/apps/files/css/files.css +++ b/apps/files/css/files.css @@ -24,7 +24,7 @@ #new>ul>li>p { cursor:pointer; } #new>ul>li>form>input { padding:0.3em; margin:-0.3em; } -#trash { height:17px; margin: 0 1em; z-index:1010; float: right; } +#trash { margin: 0 1em; z-index:1010; float: right; } #upload { height:27px; padding:0; margin-left:0.2em; overflow:hidden; diff --git a/apps/files/index.php b/apps/files/index.php index 2338cf439e4c625ce2f4d655b832bf0a6fef4827..4f9e881eb2da08b0c567c8ae99e6139c6c8682a6 100644 --- a/apps/files/index.php +++ b/apps/files/index.php @@ -121,7 +121,17 @@ if ($needUpgrade) { // information about storage capacities $storageInfo=OC_Helper::getStorageInfo(); $maxUploadFilesize=OCP\Util::maxUploadFilesize($dir); + $publicUploadEnabled = \OC_Appconfig::getValue('core', 'shareapi_allow_public_upload', 'yes'); + if (OC_App::isEnabled('files_encryption')) { + $publicUploadEnabled = 'no'; + } + $trashEnabled = \OCP\App::isEnabled('files_trashbin'); + $trashEmpty = true; + if ($trashEnabled) { + $trashEmpty = \OCA\Files_Trashbin\Trashbin::isEmpty($user); + } + OCP\Util::addscript('files', 'fileactions'); OCP\Util::addscript('files', 'files'); OCP\Util::addscript('files', 'keyboardshortcuts'); @@ -132,11 +142,13 @@ if ($needUpgrade) { $tmpl->assign('isCreatable', \OC\Files\Filesystem::isCreatable($dir . '/')); $tmpl->assign('permissions', $permissions); $tmpl->assign('files', $files); - $tmpl->assign('trash', \OCP\App::isEnabled('files_trashbin')); + $tmpl->assign('trash', $trashEnabled); + $tmpl->assign('trashEmpty', $trashEmpty); $tmpl->assign('uploadMaxFilesize', $maxUploadFilesize); $tmpl->assign('uploadMaxHumanFilesize', OCP\Util::humanFileSize($maxUploadFilesize)); $tmpl->assign('allowZipDownload', intval(OCP\Config::getSystemValue('allowZipDownload', true))); $tmpl->assign('usedSpacePercent', (int)$storageInfo['relative']); $tmpl->assign('isPublic', false); + $tmpl->assign('publicUploadEnabled', $publicUploadEnabled); $tmpl->printPage(); } diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index 04a9fb91649d7d34ef3c23f56b4354f4e1317b3c..b858e2580ee16b9e340f47abceda963ecec68477 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -392,6 +392,7 @@ var FileList={ files.removeClass('selected'); }); procesSelection(); + checkTrashStatus(); } else { $.each(files,function(index,file) { var deleteAction = $('tr').filterAttr('data-file',file).children("td.date").children(".move2trash"); diff --git a/apps/files/js/files.js b/apps/files/js/files.js index 98fc53b71a9d91d85726a6782d80f0085c5da5bc..3fad3fae7d39ed34b063541c43da59a92fea96ee 100644 --- a/apps/files/js/files.js +++ b/apps/files/js/files.js @@ -121,7 +121,7 @@ $(document).ready(function() { }); // Show trash bin - $('#trash a').live('click', function() { + $('#trash').on('click', function() { window.location=OC.filePath('files_trashbin', '', 'index.php'); }); @@ -845,3 +845,11 @@ function getUniqueName(name){ } return name; } + +function checkTrashStatus() { + $.post(OC.filePath('files_trashbin', 'ajax', 'isEmpty.php'), function(result){ + if (result.data.isEmpty === false) { + $("input[type=button][id=trash]").removeAttr("disabled"); + } + }); +} \ No newline at end of file diff --git a/apps/files/l10n/ca.php b/apps/files/l10n/ca.php index 51d450b4f68ef5faa9a2dcb14b8bbd2a73e9b08c..8d5f69f33184da19368df9b830fa157c77882ce5 100644 --- a/apps/files/l10n/ca.php +++ b/apps/files/l10n/ca.php @@ -68,7 +68,6 @@ "You don’t have write permissions here." => "No teniu permisos d'escriptura aquí.", "Nothing in here. Upload something!" => "Res per aquí. Pugeu alguna cosa!", "Download" => "Baixa", -"Size (MB)" => "Mida (MB)", "Unshare" => "Deixa de compartir", "Upload too large" => "La pujada és massa gran", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Els fitxers que esteu intentant pujar excedeixen la mida màxima de pujada del servidor", diff --git a/apps/files/l10n/cs_CZ.php b/apps/files/l10n/cs_CZ.php index c16d32e9c28e81e505f755b5ef8400b4141ede43..e87872a4a098213416cab0930fac1d78df515bb4 100644 --- a/apps/files/l10n/cs_CZ.php +++ b/apps/files/l10n/cs_CZ.php @@ -1,12 +1,12 @@ "Nelze přesunout %s - existuje soubor se stejným názvem", +"Could not move %s - File with this name already exists" => "Nelze přesunout %s - již existuje soubor se stejným názvem", "Could not move %s" => "Nelze přesunout %s", "Unable to set upload directory." => "Nelze nastavit adresář pro nahrané soubory.", "Invalid Token" => "Neplatný token", -"No file was uploaded. Unknown error" => "Soubor nebyl odeslán. Neznámá chyba", +"No file was uploaded. Unknown error" => "Žádný soubor nebyl odeslán. Neznámá chyba", "There is no error, the file uploaded with success" => "Soubor byl odeslán úspěšně", "The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Odesílaný soubor přesahuje velikost upload_max_filesize povolenou v php.ini:", -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Odeslaný soubor přesáhl svou velikostí parametr MAX_FILE_SIZE specifikovaný v formuláři HTML", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Odeslaný soubor přesáhl svou velikostí parametr MAX_FILE_SIZE specifikovaný ve formuláři HTML", "The uploaded file was only partially uploaded" => "Soubor byl odeslán pouze částečně", "No file was uploaded" => "Žádný soubor nebyl odeslán", "Missing a temporary folder" => "Chybí adresář pro dočasné soubory", @@ -14,11 +14,11 @@ "Not enough storage available" => "Nedostatek dostupného úložného prostoru", "Invalid directory." => "Neplatný adresář", "Files" => "Soubory", -"Unable to upload your file as it is a directory or has 0 bytes" => "Nelze odeslat Váš soubor, protože je to adresář, nebo je jeho velikost 0 bajtů", -"Not enough space available" => "Nedostatek dostupného místa", +"Unable to upload your file as it is a directory or has 0 bytes" => "Nelze odeslat Váš soubor, protože je to adresář nebo jeho velikost je 0 bajtů", +"Not enough space available" => "Nedostatek volného místa", "Upload cancelled." => "Odesílání zrušeno.", -"File upload is in progress. Leaving the page now will cancel the upload." => "Probíhá odesílání souboru. Opuštění stránky vyústí ve zrušení nahrávání.", -"URL cannot be empty." => "URL nemůže být prázdná", +"File upload is in progress. Leaving the page now will cancel the upload." => "Probíhá odesílání souboru. Opuštění stránky způsobí zrušení nahrávání.", +"URL cannot be empty." => "URL nemůže být prázdná.", "Invalid folder name. Usage of 'Shared' is reserved by ownCloud" => "Název složky nelze použít. Použití názvu 'Shared' je ownCloudem rezervováno", "Error" => "Chyba", "Share" => "Sdílet", @@ -31,7 +31,7 @@ "suggest name" => "navrhnout název", "cancel" => "zrušit", "replaced {new_name} with {old_name}" => "nahrazeno {new_name} s {old_name}", -"undo" => "zpět", +"undo" => "vrátit zpět", "perform delete operation" => "provést smazání", "1 file uploading" => "odesílá se 1 soubor", "files uploading" => "soubory se odesílají", @@ -40,15 +40,16 @@ "Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Neplatný název, znaky '\\', '/', '<', '>', ':', '\"', '|', '?' a '*' nejsou povoleny.", "Your storage is full, files can not be updated or synced anymore!" => "Vaše úložiště je plné, nelze aktualizovat ani synchronizovat soubory.", "Your storage is almost full ({usedSpacePercent}%)" => "Vaše úložiště je téměř plné ({usedSpacePercent}%)", -"Your download is being prepared. This might take some time if the files are big." => "Vaše soubory ke stažení se připravují. Pokud jsou velké může to chvíli trvat.", -"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Neplatný název složky. Použití 'Shared' je rezervováno pro vnitřní potřeby Owncloud", +"Your download is being prepared. This might take some time if the files are big." => "Vaše soubory ke stažení se připravují. Pokud jsou velké, může to chvíli trvat.", +"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Neplatný název složky. Pojmenování 'Shared' je rezervováno pro vnitřní potřeby ownCloud", "Name" => "Název", "Size" => "Velikost", "Modified" => "Upraveno", "1 folder" => "1 složka", -"{count} folders" => "{count} složky", +"{count} folders" => "{count} složek", "1 file" => "1 soubor", -"{count} files" => "{count} soubory", +"{count} files" => "{count} souborů", +"%s could not be renamed" => "%s nemůže být přejmenován", "Upload" => "Odeslat", "File handling" => "Zacházení se soubory", "Maximum upload size" => "Maximální velikost pro odesílání", @@ -72,6 +73,8 @@ "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Soubory, které se snažíte odeslat, překračují limit velikosti odesílání na tomto serveru.", "Files are being scanned, please wait." => "Soubory se prohledávají, prosím čekejte.", "Current scanning" => "Aktuální prohledávání", +"directory" => "adresář", +"directories" => "adresáře", "file" => "soubor", "files" => "soubory", "Upgrading filesystem cache..." => "Aktualizuji mezipaměť souborového systému..." diff --git a/apps/files/l10n/da.php b/apps/files/l10n/da.php index c2f200e476fe956b2b9247b966b2a982840d4a6a..3dd82fadba5252f6bffcf06e71f6c304a03b2a10 100644 --- a/apps/files/l10n/da.php +++ b/apps/files/l10n/da.php @@ -1,6 +1,8 @@ "Kunne ikke flytte %s - der findes allerede en fil med dette navn", "Could not move %s" => "Kunne ikke flytte %s", +"Unable to set upload directory." => "Ude af stand til at vælge upload mappe.", +"Invalid Token" => "Ugyldig Token ", "No file was uploaded. Unknown error" => "Ingen fil blev uploadet. Ukendt fejl.", "There is no error, the file uploaded with success" => "Der skete ingen fejl, filen blev succesfuldt uploadet", "The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Den uploadede fil overstiger upload_max_filesize direktivet i php.ini", @@ -47,6 +49,7 @@ "{count} folders" => "{count} mapper", "1 file" => "1 fil", "{count} files" => "{count} filer", +"%s could not be renamed" => "%s kunne ikke omdøbes", "Upload" => "Upload", "File handling" => "Filhåndtering", "Maximum upload size" => "Maksimal upload-størrelse", @@ -70,6 +73,8 @@ "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Filerne, du prøver at uploade, er større end den maksimale størrelse for fil-upload på denne server.", "Files are being scanned, please wait." => "Filerne bliver indlæst, vent venligst.", "Current scanning" => "Indlæser", +"directory" => "mappe", +"directories" => "Mapper", "file" => "fil", "files" => "filer", "Upgrading filesystem cache..." => "Opgraderer filsystems cachen..." diff --git a/apps/files/l10n/de.php b/apps/files/l10n/de.php index 435c821400df2cf15c0310d9b78f45ecb404be31..33430795ddde4423f3365299b12c670a846cd67d 100644 --- a/apps/files/l10n/de.php +++ b/apps/files/l10n/de.php @@ -68,7 +68,6 @@ "You don’t have write permissions here." => "Du hast hier keine Schreib-Berechtigung.", "Nothing in here. Upload something!" => "Alles leer. Lade etwas hoch!", "Download" => "Herunterladen", -"Size (MB)" => "Größe (MB)", "Unshare" => "Freigabe aufheben", "Upload too large" => "Der Upload ist zu groß", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Die Datei überschreitet die Maximalgröße für Uploads auf diesem Server.", diff --git a/apps/files/l10n/de_DE.php b/apps/files/l10n/de_DE.php index d21fd92324ff2546e4fcdd2dff9b60ccd82421d2..3ce3b2a7fb5ae536a9fa57d9efd80f6d143bb64c 100644 --- a/apps/files/l10n/de_DE.php +++ b/apps/files/l10n/de_DE.php @@ -68,7 +68,6 @@ "You don’t have write permissions here." => "Sie haben hier keine Schreib-Berechtigungen.", "Nothing in here. Upload something!" => "Alles leer. Laden Sie etwas hoch!", "Download" => "Herunterladen", -"Size (MB)" => "Größe (MB)", "Unshare" => "Freigabe aufheben", "Upload too large" => "Der Upload ist zu groß", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Die Datei überschreitet die Maximalgröße für Uploads auf diesem Server.", diff --git a/apps/files/l10n/es.php b/apps/files/l10n/es.php index 2d5ac06ff97a6197fada66c0f8b25e7ceb24cf6e..78740d5150726cad47c6d324c35e1b07aa75546c 100644 --- a/apps/files/l10n/es.php +++ b/apps/files/l10n/es.php @@ -68,7 +68,6 @@ "You don’t have write permissions here." => "No tiene permisos de escritura aquí.", "Nothing in here. Upload something!" => "No hay nada aquí. ¡Suba algo!", "Download" => "Descargar", -"Size (MB)" => "Tamaño (MB)", "Unshare" => "Dejar de compartir", "Upload too large" => "Subida demasido grande", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Los archivos que estás intentando subir sobrepasan el tamaño máximo permitido en este servidor.", diff --git a/apps/files/l10n/es_AR.php b/apps/files/l10n/es_AR.php index 6585d074bb8e2fbdda0a743712c52255f1e264a3..3fc3be179822ee5467b78b25f6c85d01df813b9d 100644 --- a/apps/files/l10n/es_AR.php +++ b/apps/files/l10n/es_AR.php @@ -68,7 +68,6 @@ "You don’t have write permissions here." => "No tenés permisos de escritura acá.", "Nothing in here. Upload something!" => "No hay nada. ¡Subí contenido!", "Download" => "Descargar", -"Size (MB)" => "Tamaño (MB)", "Unshare" => "Dejar de compartir", "Upload too large" => "El tamaño del archivo que querés subir es demasiado grande", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Los archivos que intentás subir sobrepasan el tamaño máximo ", diff --git a/apps/files/l10n/et_EE.php b/apps/files/l10n/et_EE.php index 8ba928be94d6cab7d83a61d9e3509c97978a400d..c58b066e28719c9fe934f15cd83834971e251fae 100644 --- a/apps/files/l10n/et_EE.php +++ b/apps/files/l10n/et_EE.php @@ -68,7 +68,6 @@ "You don’t have write permissions here." => "Siin puudvad sul kirjutamisõigused.", "Nothing in here. Upload something!" => "Siin pole midagi. Lae midagi üles!", "Download" => "Lae alla", -"Size (MB)" => "Suurus (MB)", "Unshare" => "Lõpeta jagamine", "Upload too large" => "Üleslaadimine on liiga suur", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Failid, mida sa proovid üles laadida, ületab serveri poolt üleslaetavatele failidele määratud maksimaalse suuruse.", diff --git a/apps/files/l10n/eu.php b/apps/files/l10n/eu.php index 3ef27d5cad21c71763941b1b54223304ab192779..96bfb2d1cc8e831cb6ba30afc6f8b13193bc299c 100644 --- a/apps/files/l10n/eu.php +++ b/apps/files/l10n/eu.php @@ -68,7 +68,6 @@ "You don’t have write permissions here." => "Ez duzu hemen idazteko baimenik.", "Nothing in here. Upload something!" => "Ez dago ezer. Igo zerbait!", "Download" => "Deskargatu", -"Size (MB)" => "Tamaina (MB)", "Unshare" => "Ez elkarbanatu", "Upload too large" => "Igoera handiegia da", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Igotzen saiatzen ari zaren fitxategiak zerbitzari honek igotzeko onartzen duena baino handiagoak dira.", diff --git a/apps/files/l10n/fa.php b/apps/files/l10n/fa.php index 8a6089f635beadb8d68d54e7f1ba14f2626839b9..73f4b493b4d88b3d02edf3fe8819169444a2d6ba 100644 --- a/apps/files/l10n/fa.php +++ b/apps/files/l10n/fa.php @@ -68,7 +68,6 @@ "You don’t have write permissions here." => "شما اجازه ی نوشتن در اینجا را ندارید", "Nothing in here. Upload something!" => "اینجا هیچ چیز نیست.", "Download" => "دانلود", -"Size (MB)" => "اندازه(مگابایت)", "Unshare" => "لغو اشتراک", "Upload too large" => "سایز فایل برای آپلود زیاد است(م.تنظیمات در php.ini)", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "فایلها بیش از حد تعیین شده در این سرور هستند\nمترجم:با تغییر فایل php,ini میتوان این محدودیت را برطرف کرد", diff --git a/apps/files/l10n/fi_FI.php b/apps/files/l10n/fi_FI.php index c57c0ea898ee2804089cd532948c10889e150ce7..40df7b1546eef85139440f495017386d24532fd1 100644 --- a/apps/files/l10n/fi_FI.php +++ b/apps/files/l10n/fi_FI.php @@ -60,7 +60,6 @@ "You don’t have write permissions here." => "Tunnuksellasi ei ole kirjoitusoikeuksia tänne.", "Nothing in here. Upload something!" => "Täällä ei ole mitään. Lähetä tänne jotakin!", "Download" => "Lataa", -"Size (MB)" => "Koko (Mt)", "Unshare" => "Peru jakaminen", "Upload too large" => "Lähetettävä tiedosto on liian suuri", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Lähetettäväksi valitsemasi tiedostot ylittävät palvelimen salliman tiedostokoon rajan.", diff --git a/apps/files/l10n/fr.php b/apps/files/l10n/fr.php index dc1a33ac65cf61645b73597ff62d1bf816ee9eb4..b293f85ed4239665caa1dfa84ccc7afea5fbc296 100644 --- a/apps/files/l10n/fr.php +++ b/apps/files/l10n/fr.php @@ -68,7 +68,6 @@ "You don’t have write permissions here." => "Vous n'avez pas le droit d'écriture ici.", "Nothing in here. Upload something!" => "Il n'y a rien ici ! Envoyez donc quelque chose :)", "Download" => "Télécharger", -"Size (MB)" => "Taille (Mo)", "Unshare" => "Ne plus partager", "Upload too large" => "Téléversement trop volumineux", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Les fichiers que vous essayez d'envoyer dépassent la taille maximale permise par ce serveur.", diff --git a/apps/files/l10n/gl.php b/apps/files/l10n/gl.php index 4a1c7720caf7637511af2b4c16c382478dc5da5b..bba6335ae053d9c617b1fdd21020422b54a09164 100644 --- a/apps/files/l10n/gl.php +++ b/apps/files/l10n/gl.php @@ -68,7 +68,6 @@ "You don’t have write permissions here." => "Non ten permisos para escribir aquí.", "Nothing in here. Upload something!" => "Aquí non hai nada. Envíe algo.", "Download" => "Descargar", -"Size (MB)" => "Tamaño (MB)", "Unshare" => "Deixar de compartir", "Upload too large" => "Envío demasiado grande", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Os ficheiros que tenta enviar exceden do tamaño máximo permitido neste servidor", diff --git a/apps/files/l10n/hu_HU.php b/apps/files/l10n/hu_HU.php index 21a519ea42babf5d3a8a795c6bab5126e8d88e4b..b08335169585ab21b2e9b14a26df6d7f57bd22a3 100644 --- a/apps/files/l10n/hu_HU.php +++ b/apps/files/l10n/hu_HU.php @@ -68,7 +68,6 @@ "You don’t have write permissions here." => "Itt nincs írásjoga.", "Nothing in here. Upload something!" => "Itt nincs semmi. Töltsön fel valamit!", "Download" => "Letöltés", -"Size (MB)" => "Méret (MB)", "Unshare" => "A megosztás visszavonása", "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.", diff --git a/apps/files/l10n/it.php b/apps/files/l10n/it.php index 8ea6bb48aba49d1f75cebac77af1ae1e7f49d6d9..28b33795aeba64200dcb4b34c7b4e28840d222d5 100644 --- a/apps/files/l10n/it.php +++ b/apps/files/l10n/it.php @@ -68,7 +68,6 @@ "You don’t have write permissions here." => "Qui non hai i permessi di scrittura.", "Nothing in here. Upload something!" => "Non c'è niente qui. Carica qualcosa!", "Download" => "Scarica", -"Size (MB)" => "Dimensione (MB)", "Unshare" => "Rimuovi condivisione", "Upload too large" => "Caricamento troppo grande", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "I file che stai provando a caricare superano la dimensione massima consentita su questo server.", diff --git a/apps/files/l10n/ja_JP.php b/apps/files/l10n/ja_JP.php index cb5480199e28535e8a2824df58b96f9e1f245b15..e4be3133fb0bcd72d53e33477a58d617bd84d4af 100644 --- a/apps/files/l10n/ja_JP.php +++ b/apps/files/l10n/ja_JP.php @@ -68,7 +68,6 @@ "You don’t have write permissions here." => "あなたには書き込み権限がありません。", "Nothing in here. Upload something!" => "ここには何もありません。何かアップロードしてください。", "Download" => "ダウンロード", -"Size (MB)" => "サイズ(MB)", "Unshare" => "共有解除", "Upload too large" => "アップロードには大きすぎます。", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "アップロードしようとしているファイルは、サーバで規定された最大サイズを超えています。", diff --git a/apps/files/l10n/nb_NO.php b/apps/files/l10n/nb_NO.php index e6d0ed4104978eff57f8ea664cc0853109f2c448..d4080a179604155ad65855885db02b4c3ff62fa6 100644 --- a/apps/files/l10n/nb_NO.php +++ b/apps/files/l10n/nb_NO.php @@ -66,7 +66,6 @@ "You don’t have write permissions here." => "Du har ikke skrivetilgang her.", "Nothing in here. Upload something!" => "Ingenting her. Last opp noe!", "Download" => "Last ned", -"Size (MB)" => "Størrelse (MB)", "Unshare" => "Avslutt deling", "Upload too large" => "Filen er for stor", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Filene du prøver å laste opp er for store for å laste opp til denne serveren.", diff --git a/apps/files/l10n/nl.php b/apps/files/l10n/nl.php index 914d5087af10a3253f02487b1b08de453dd6fd87..0d906cb138b55ed4f43bdaffcd38344608b7c9b6 100644 --- a/apps/files/l10n/nl.php +++ b/apps/files/l10n/nl.php @@ -49,6 +49,7 @@ "{count} folders" => "{count} mappen", "1 file" => "1 bestand", "{count} files" => "{count} bestanden", +"%s could not be renamed" => "%s kon niet worden hernoemd", "Upload" => "Uploaden", "File handling" => "Bestand", "Maximum upload size" => "Maximale bestandsgrootte voor uploads", @@ -72,6 +73,8 @@ "The files you are trying to upload exceed the maximum size for file uploads on this server." => "De bestanden die u probeert te uploaden zijn groter dan de maximaal toegestane bestandsgrootte voor deze server.", "Files are being scanned, please wait." => "Bestanden worden gescand, even wachten.", "Current scanning" => "Er wordt gescand", +"directory" => "directory", +"directories" => "directories", "file" => "bestand", "files" => "bestanden", "Upgrading filesystem cache..." => "Upgraden bestandssysteem cache..." diff --git a/apps/files/l10n/pt_BR.php b/apps/files/l10n/pt_BR.php index a1e06483b688164b9311400afcdc5f834de5f05a..3ad679f87646cc426cccfbf00ffad669ee138f12 100644 --- a/apps/files/l10n/pt_BR.php +++ b/apps/files/l10n/pt_BR.php @@ -68,7 +68,6 @@ "You don’t have write permissions here." => "Você não possui permissão de escrita aqui.", "Nothing in here. Upload something!" => "Nada aqui.Carrege alguma coisa!", "Download" => "Baixar", -"Size (MB)" => "Tamanho (MB)", "Unshare" => "Descompartilhar", "Upload too large" => "Upload muito grande", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Os arquivos que você está tentando carregar excedeu o tamanho máximo para arquivos no servidor.", diff --git a/apps/files/l10n/pt_PT.php b/apps/files/l10n/pt_PT.php index 8656edfc16b5dd32124d5e6ecd82195b66bc78b3..8aeb30efbf21757c4a4c6842496a46448cb7af7a 100644 --- a/apps/files/l10n/pt_PT.php +++ b/apps/files/l10n/pt_PT.php @@ -68,7 +68,6 @@ "You don’t have write permissions here." => "Não tem permissões de escrita aqui.", "Nothing in here. Upload something!" => "Vazio. Envie alguma coisa!", "Download" => "Transferir", -"Size (MB)" => "Tamanho (MB)", "Unshare" => "Deixar de partilhar", "Upload too large" => "Upload muito grande", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Os ficheiro que está a tentar enviar excedem o tamanho máximo de envio neste servidor.", diff --git a/apps/files/l10n/ru.php b/apps/files/l10n/ru.php index 225de32d62ea38c56cd404daea5824d1a9af51a4..71742cb4d577354fe883d9fb35527cceebc8e120 100644 --- a/apps/files/l10n/ru.php +++ b/apps/files/l10n/ru.php @@ -68,7 +68,6 @@ "You don’t have write permissions here." => "У вас нет разрешений на запись здесь.", "Nothing in here. Upload something!" => "Здесь ничего нет. Загрузите что-нибудь!", "Download" => "Скачать", -"Size (MB)" => "Размер (Мб)", "Unshare" => "Закрыть общий доступ", "Upload too large" => "Файл слишком велик", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Файлы, которые вы пытаетесь загрузить, превышают лимит для файлов на этом сервере.", diff --git a/apps/files/l10n/sv.php b/apps/files/l10n/sv.php index 132a014e61fb88e8a7b0c4af3608a98aff01fc0a..70f3121a20c78a94e20714d51ab34d16ed44a4ce 100644 --- a/apps/files/l10n/sv.php +++ b/apps/files/l10n/sv.php @@ -68,7 +68,6 @@ "You don’t have write permissions here." => "Du saknar skrivbehörighet här.", "Nothing in here. Upload something!" => "Ingenting här. Ladda upp något!", "Download" => "Ladda ner", -"Size (MB)" => "Storlek (MB)", "Unshare" => "Sluta dela", "Upload too large" => "För stor uppladdning", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Filerna du försöker ladda upp överstiger den maximala storleken för filöverföringar på servern.", diff --git a/apps/files/l10n/tr.php b/apps/files/l10n/tr.php index 6778141c386b1fc6c6c570c8aff89278a4a63829..6b479b580ebb9950a9e51a6518f1431f66ca5a04 100644 --- a/apps/files/l10n/tr.php +++ b/apps/files/l10n/tr.php @@ -68,7 +68,6 @@ "You don’t have write permissions here." => "Buraya erişim hakkınız yok.", "Nothing in here. Upload something!" => "Burada hiçbir şey yok. Birşeyler yükleyin!", "Download" => "İndir", -"Size (MB)" => "Boyut (MB)", "Unshare" => "Paylaşılmayan", "Upload too large" => "Yükleme çok büyük", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Yüklemeye çalıştığınız dosyalar bu sunucudaki maksimum yükleme boyutunu aşıyor.", diff --git a/apps/files/l10n/zh_CN.GB2312.php b/apps/files/l10n/zh_CN.GB2312.php index a515b8ac1bf55dd0b5c819789aff3bb51360d04a..469211ca7f457828b828637177eb9c35c53a05a8 100644 --- a/apps/files/l10n/zh_CN.GB2312.php +++ b/apps/files/l10n/zh_CN.GB2312.php @@ -68,7 +68,6 @@ "You don’t have write permissions here." => "您没有写入权限。", "Nothing in here. Upload something!" => "这里没有东西.上传点什么!", "Download" => "下载", -"Size (MB)" => "大小 (MB)", "Unshare" => "取消分享", "Upload too large" => "上传过大", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "你正在试图上传的文件超过了此服务器支持的最大的文件大小.", diff --git a/apps/files/l10n/zh_TW.php b/apps/files/l10n/zh_TW.php index 6801b311ae4d9aeba5678eb1a7bfd40e44d9aaa6..63d2bd923654cd33a8a538ce9bf3f88cb6fbdb06 100644 --- a/apps/files/l10n/zh_TW.php +++ b/apps/files/l10n/zh_TW.php @@ -68,7 +68,6 @@ "You don’t have write permissions here." => "您在這裡沒有編輯權。", "Nothing in here. Upload something!" => "這裡什麼也沒有,上傳一些東西吧!", "Download" => "下載", -"Size (MB)" => "大小 (MB)", "Unshare" => "取消共享", "Upload too large" => "上傳過大", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "您試圖上傳的檔案已超過伺服器的最大檔案大小限制。", diff --git a/apps/files/templates/index.php b/apps/files/templates/index.php index fa4cda6f6b2ed1f49818336b27a314830b24bf0a..79c283dc336149ff5d2663518537d53bb584c50c 100644 --- a/apps/files/templates/index.php +++ b/apps/files/templates/index.php @@ -38,9 +38,7 @@ -
+ >
diff --git a/apps/files_encryption/hooks/hooks.php b/apps/files_encryption/hooks/hooks.php
index b2a17f6bca5e344646a76a8e42354d765f439ed4..741df166b70179ce5c3c089097e2f619ce12408f 100644
--- a/apps/files_encryption/hooks/hooks.php
+++ b/apps/files_encryption/hooks/hooks.php
@@ -238,6 +238,7 @@ class Hooks {
*/
public static function preShared($params) {
+ $l = new \OC_L10N('files_encryption');
$users = array();
$view = new \OC\Files\View('/public-keys/');
@@ -250,21 +251,18 @@ class Hooks {
break;
}
- $error = false;
+ $notConfigured = array();
foreach ($users as $user) {
if (!$view->file_exists($user . '.public.key')) {
- $error = true;
- break;
+ $notConfigured[] = $user;
}
}
- if ($error) // Set flag var 'run' to notify emitting
- // script that hook execution failed
- {
- $params['run']->run = false;
+ if (count($notConfigured) > 0) {
+ $params['run'] = false;
+ $params['error'] = $l->t('Following users are not set up for encryption:') . ' ' . join(', ' , $notConfigured);
}
- // TODO: Make sure files_sharing provides user
- // feedback on failed share
+
}
/**
diff --git a/apps/files_encryption/l10n/cs_CZ.php b/apps/files_encryption/l10n/cs_CZ.php
index 981e629ccfee8d1c2d621c661ee3790d88ade8f8..7b2ce2d65c589312f9dacff454f2e655a0ce4209 100644
--- a/apps/files_encryption/l10n/cs_CZ.php
+++ b/apps/files_encryption/l10n/cs_CZ.php
@@ -7,14 +7,28 @@
"Could not change the password. Maybe the old password was not correct." => "Nelze změnit heslo. Pravděpodobně nebylo stávající heslo zadáno správně.",
"Private key password successfully updated." => "Heslo soukromého klíče úspěšně aktualizováno.",
"Could not update the private key password. Maybe the old password was not correct." => "Nelze aktualizovat heslo soukromého klíče. Možná nebylo staré heslo správně.",
+"Your private key is not valid! Likely your password was changed outside the ownCloud system (e.g. your corporate directory). You can update your private key password in your personal settings to recover access to your encrypted files." => "Váš soukromý klíč není platný! Pravděpodobně bylo heslo změněno zvně systému ownCloud (např. ve vašem firemním adresáři). Můžete opravit vaše heslo soukromého klíče ve svém osobním nastavení pro obnovení přístupu k vašim zašifrovaným souborům.",
+"Missing requirements." => "Nesplněné závislosti.",
+"Please make sure that PHP 5.3.3 or newer is installed and that the OpenSSL PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Ujistěte se prosím, že máte nainstalované PHP verze PHP 5.3.3 s nainstalovaným a správně nastaveným rozšířením OpenSSL. Prozatím byla šifrovací aplikace zablokována.",
"Saving..." => "Ukládám...",
+"Your private key is not valid! Maybe the your password was changed from outside." => "Váš soukromý klíč není platný! Pravděpodobně bylo vaše heslo změněno zvenčí.",
+"You can unlock your private key in your " => "Můžete odemknout váš soukromý klíč ve vašem",
"personal settings" => "osobní nastavení",
"Encryption" => "Šifrování",
+"Enable recovery key (allow to recover users files in case of password loss):" => "Povolit klíč pro obnovu (dovoluje obnovu uživatelských souborů v případě ztráty hesla)",
+"Recovery key password" => "Heslo klíče pro obnovu",
"Enabled" => "Povoleno",
"Disabled" => "Zakázáno",
+"Change recovery key password:" => "Změna hesla klíče pro obnovu:",
+"Old Recovery key password" => "Původní heslo klíče pro obnovu",
+"New Recovery key password" => "Nové heslo klíče pro obnovu",
"Change Password" => "Změnit heslo",
+"Your private key password no longer match your log-in password:" => "Heslo vašeho soukromého klíče se již neshoduje s vaším přihlašovacím heslem:",
+"Set your old private key password to your current log-in password." => "Jako původní heslo soukromého klíče použít stávající přihlašovací heslo.",
+" If you don't remember your old password you can ask your administrator to recover your files." => "Pokud si nevzpomínáte vaše původní heslo, můžete požádat správce o obnovu vašich souborů.",
"Old log-in password" => "Staré přihlašovací heslo",
"Current log-in password" => "Aktuální přihlašovací heslo",
+"Update Private Key Password" => "Změnit heslo soukromého klíče",
"Enable password recovery:" => "Povolit obnovu hesla:",
"Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" => "Povolení vám umožní znovu získat přístup k vašim zašifrovaným souborům pokud ztratíte heslo",
"File recovery settings updated" => "Možnosti obnovy souborů aktualizovány",
diff --git a/apps/files_encryption/l10n/da.php b/apps/files_encryption/l10n/da.php
index 1cd43390aa3c289413c65f9e2390be265c0338dc..609137cf19386a1c72a90405cd65def5de2d86cd 100644
--- a/apps/files_encryption/l10n/da.php
+++ b/apps/files_encryption/l10n/da.php
@@ -1,4 +1,36 @@
"Gendannelsesnøgle aktiveret med succes",
+"Could not enable recovery key. Please check your recovery key password!" => "Kunne ikke aktivere gendannelsesnøgle. Kontroller venligst dit gendannelsesnøgle kodeord!",
+"Recovery key successfully disabled" => "Gendannelsesnøgle deaktiveret succesfuldt",
+"Could not disable recovery key. Please check your recovery key password!" => "Kunne ikke deaktivere gendannelsesnøgle. Kontroller din gendannelsesnøgle kodeord!",
+"Password successfully changed." => "Kodeordet blev ændret succesfuldt",
+"Could not change the password. Maybe the old password was not correct." => "Kunne ikke ændre kodeordet. Måske var det gamle kodeord ikke korrekt.",
+"Private key password successfully updated." => "Privat nøgle kodeord succesfuldt opdateret.",
+"Could not update the private key password. Maybe the old password was not correct." => "Kunne ikke opdatere det private nøgle kodeord-. Måske var det gamle kodeord forkert.",
+"Your private key is not valid! Likely your password was changed outside the ownCloud system (e.g. your corporate directory). You can update your private key password in your personal settings to recover access to your encrypted files." => "Din private nøgle er gyldig! Sandsynligvis blev dit kodeord ændre uden for ownCloud systemet (f.eks. dit firmas register). Du kan opdatere dit private nøgle kodeord under personlige indstillinger, for at generhverve adgang til dine krypterede filer.",
+"Missing requirements." => "Manglende betingelser.",
+"Please make sure that PHP 5.3.3 or newer is installed and that the OpenSSL PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Sikker dig venligst at PHP 5.3.3 eller nyere er installeret og at OpenSSL PHP udvidelsen er aktiveret og konfigureret korrekt. Indtil videre er krypterings app'en deaktiveret. ",
"Saving..." => "Gemmer...",
-"Encryption" => "Kryptering"
+"Your private key is not valid! Maybe the your password was changed from outside." => "Din private nøgle er ikke gyldig. Måske blev dit kodeord ændre udefra.",
+"You can unlock your private key in your " => "Du kan låse din private nøgle op i din ",
+"personal settings" => "Personlige indstillinger",
+"Encryption" => "Kryptering",
+"Enable recovery key (allow to recover users files in case of password loss):" => "Aktiver gendannelsesnøgle (Tillad gendannelse af brugerfiler i tilfælde af tab af kodeord):",
+"Recovery key password" => "Gendannelsesnøgle kodeord",
+"Enabled" => "Aktiveret",
+"Disabled" => "Deaktiveret",
+"Change recovery key password:" => "Skift gendannelsesnøgle kodeord:",
+"Old Recovery key password" => "Gammel Gendannelsesnøgle kodeord",
+"New Recovery key password" => "Ny Gendannelsesnøgle kodeord",
+"Change Password" => "Skift Kodeord",
+"Your private key password no longer match your log-in password:" => "Dit private nøgle kodeord stemmer ikke længere overens med dit login kodeord:",
+"Set your old private key password to your current log-in password." => "Sæt dit gamle private nøgle kodeord til at være dit nuværende login kodeord. ",
+" If you don't remember your old password you can ask your administrator to recover your files." => "Hvis du ikke kan huske dit gamle kodeord kan du bede din administrator om at gendanne dine filer.",
+"Old log-in password" => "Gammelt login kodeord",
+"Current log-in password" => "Nuvrende login kodeord",
+"Update Private Key Password" => "Opdater Privat Nøgle Kodeord",
+"Enable password recovery:" => "Aktiver kodeord gendannelse:",
+"Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" => "Aktivering af denne valgmulighed tillader dig at generhverve adgang til dine krypterede filer i tilfælde af tab af kodeord",
+"File recovery settings updated" => "Filgendannelsesindstillinger opdateret",
+"Could not update file recovery" => "Kunne ikke opdatere filgendannelse"
);
diff --git a/apps/files_encryption/l10n/eu.php b/apps/files_encryption/l10n/eu.php
index 22fe7932688894b779294b14687088f4a3c14a75..307cd385e7e924d612cf85e389b32ebf86cd145b 100644
--- a/apps/files_encryption/l10n/eu.php
+++ b/apps/files_encryption/l10n/eu.php
@@ -7,9 +7,15 @@
"Could not change the password. Maybe the old password was not correct." => "Ezin izan da pasahitza aldatu. Agian pasahitz zaharra okerrekoa da.",
"Private key password successfully updated." => "Gako pasahitz pribatu behar bezala eguneratu da.",
"Could not update the private key password. Maybe the old password was not correct." => "Ezin izan da gako pribatu pasahitza eguneratu. Agian pasahitz zaharra okerrekoa da.",
+"Your private key is not valid! Likely your password was changed outside the ownCloud system (e.g. your corporate directory). You can update your private key password in your personal settings to recover access to your encrypted files." => "Zure gako pribatua ez da egokia! Seguruaski zure pasahitza ownCloud sistematik kanpo aldatu da (adb. zure direktorio korporatiboa). Zure gako pribatuaren pasahitza eguneratu dezakezu zure ezarpen pertsonaletan zure enkriptatutako fitxategiak berreskuratzeko.",
+"Missing requirements." => "Eskakizun batzuk ez dira betetzen.",
+"Please make sure that PHP 5.3.3 or newer is installed and that the OpenSSL PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Ziurtatu PHP 5.3.3 edo berriagoa instalatuta dagoela eta PHPren OpenSSL gehigarria gaituta eta ongi konfiguratuta dagoela. Oraingoz enkriptazio programa ez dago gaituta.",
"Saving..." => "Gordetzen...",
+"Your private key is not valid! Maybe the your password was changed from outside." => "Zure gako pribatua ez da egokia! Agian zure pasahitza kanpotik aldatu da.",
+"You can unlock your private key in your " => "Zure gako pribatua desblokeatu dezakezu zure",
"personal settings" => "ezarpen pertsonalak",
"Encryption" => "Enkriptazioa",
+"Enable recovery key (allow to recover users files in case of password loss):" => "Gaitu berreskurapen gakoa (erabiltzaileen fitxategiak berreskuratzea ahalbidetzen du pasahitza galtzen badute ere):",
"Recovery key password" => "Berreskuratze gako pasahitza",
"Enabled" => "Gaitua",
"Disabled" => "Ez-gaitua",
@@ -17,8 +23,14 @@
"Old Recovery key password" => "Berreskuratze gako pasahitz zaharra",
"New Recovery key password" => "Berreskuratze gako pasahitz berria",
"Change Password" => "Aldatu Pasahitza",
+"Your private key password no longer match your log-in password:" => "Zure gako pribatuaren pasahitza ez da dagoeneko zure sarrera pasahitza:",
+"Set your old private key password to your current log-in password." => "Ezarri zure gako pribatu zaharraren pasahitza zure oraingo sarrerako psahitzara.",
+" If you don't remember your old password you can ask your administrator to recover your files." => "Ez baduzu zure pasahitz zaharra gogoratzen eskatu zure administratzaileari zure fitxategiak berreskuratzeko.",
+"Old log-in password" => "Sartzeko pasahitz zaharra",
+"Current log-in password" => "Sartzeko oraingo pasahitza",
"Update Private Key Password" => "Eguneratu gako pribatu pasahitza",
"Enable password recovery:" => "Gaitu pasahitz berreskuratzea:",
+"Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" => "Aukera hau gaituz zure enkriptatutako fitxategiak berreskuratu ahal izango dituzu pasahitza galtzekotan",
"File recovery settings updated" => "Fitxategi berreskuratze ezarpenak eguneratuak",
"Could not update file recovery" => "Ezin da fitxategi berreskuratzea eguneratu"
);
diff --git a/apps/files_encryption/l10n/ko.php b/apps/files_encryption/l10n/ko.php
index cf8149da3abf724b6c02b9f0b878bd1c1195aabc..52e0997ef7bd08dbab580dddbcb5bfca023dd261 100644
--- a/apps/files_encryption/l10n/ko.php
+++ b/apps/files_encryption/l10n/ko.php
@@ -1,4 +1,18 @@
"암호가 성공적으로 변경되었습니다",
+"Could not change the password. Maybe the old password was not correct." => "암호를 변경할수 없습니다. 아마도 예전 암호가 정확하지 않은것 같습니다.",
+"Private key password successfully updated." => "개인키 암호가 성공적으로 업데이트 됨.",
"Saving..." => "저장 중...",
-"Encryption" => "암호화"
+"personal settings" => "개인 설정",
+"Encryption" => "암호화",
+"Recovery key password" => "키 비밀번호 복구",
+"Change recovery key password:" => "복구 키 비밀번호 변경",
+"Old Recovery key password" => "예전 복구 키 비밀번호",
+"New Recovery key password" => "새 복구 키 비밀번호",
+"Change Password" => "암호 변경",
+"Old log-in password" => "예전 로그인 암호",
+"Current log-in password" => "현재 로그인 암호",
+"Update Private Key Password" => "개인 키 암호 업데이트",
+"File recovery settings updated" => "파일 복구 설정 업데이트됨",
+"Could not update file recovery" => "파일 복구를 업데이트 할수 없습니다"
);
diff --git a/apps/files_encryption/l10n/nl.php b/apps/files_encryption/l10n/nl.php
index 093ed2c29c8d29ad5ba1dfb778e3587f372bc477..9cf7bcd172156b5a9b5fe3ba774f562f19d79eb9 100644
--- a/apps/files_encryption/l10n/nl.php
+++ b/apps/files_encryption/l10n/nl.php
@@ -7,6 +7,9 @@
"Could not change the password. Maybe the old password was not correct." => "Kon wachtwoord niet wijzigen. Wellicht oude wachtwoord niet juist ingevoerd.",
"Private key password successfully updated." => "Privésleutel succesvol bijgewerkt.",
"Could not update the private key password. Maybe the old password was not correct." => "Kon het wachtwoord van de privésleutel niet wijzigen. Misschien was het oude wachtwoord onjuist.",
+"Your private key is not valid! Likely your password was changed outside the ownCloud system (e.g. your corporate directory). You can update your private key password in your personal settings to recover access to your encrypted files." => "Uw privésleutel is niet geldig! Misschien was uw wachtwoord van buitenaf gewijzigd. U kunt het wachtwoord van uw privésleutel aanpassen in uw persoonlijke instellingen om toegang tot uw versleutelde bestanden te vergaren.",
+"Missing requirements." => "Missende benodigdheden.",
+"Please make sure that PHP 5.3.3 or newer is installed and that the OpenSSL PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Wees er zeker van dat PHP5.3.3 of nieuwer is geïstalleerd en dat de OpenSSL PHP extensie is ingeschakeld en correct geconfigureerd. De versleutel-app is voorlopig uitgeschakeld.",
"Saving..." => "Opslaan",
"Your private key is not valid! Maybe the your password was changed from outside." => "Uw privésleutel is niet geldig. Misschien was uw wachtwoord van buitenaf gewijzigd.",
"You can unlock your private key in your " => "U kunt uw privésleutel deblokkeren in uw",
diff --git a/apps/files_encryption/l10n/pt_PT.php b/apps/files_encryption/l10n/pt_PT.php
index f485f373a5346850da99dd461c5419859549cdb2..15a9ee6de6307cf7786df84bfcb3f94c1f7161c2 100644
--- a/apps/files_encryption/l10n/pt_PT.php
+++ b/apps/files_encryption/l10n/pt_PT.php
@@ -5,11 +5,25 @@
"Could not disable recovery key. Please check your recovery key password!" => "Não foi possível desactivar a chave de recuperação. Por favor verifique a password da chave de recuperação.",
"Password successfully changed." => "Password alterada com sucesso.",
"Could not change the password. Maybe the old password was not correct." => "Não foi possivel alterar a password. Possivelmente a password antiga não está correcta.",
+"Could not update the private key password. Maybe the old password was not correct." => "Não foi possível alterar a chave. Possivelmente a password antiga não está correcta.",
+"Your private key is not valid! Likely your password was changed outside the ownCloud system (e.g. your corporate directory). You can update your private key password in your personal settings to recover access to your encrypted files." => "Chave privada não é válida! Provavelmente senha foi alterada fora do sistema ownCloud (exemplo, o diretório corporativo). Pode atualizar password da chave privada em configurações personalizadas para recuperar o acesso aos seus arquivos encriptados.",
+"Missing requirements." => "Faltam alguns requisitos.",
+"Please make sure that PHP 5.3.3 or newer is installed and that the OpenSSL PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Por favor, certifique-se que PHP 5.3.3 ou mais recente está instalado e que a extensão PHP OpenSSL está ativada e corretamente configurada. Por agora, a encripitação está desativado.",
"Saving..." => "A guardar...",
+"personal settings" => "configurações personalizadas ",
"Encryption" => "Encriptação",
+"Enable recovery key (allow to recover users files in case of password loss):" => "Active a chave de recuperação (permite recuperar os ficheiros no caso de perda da password):",
+"Recovery key password" => "Chave de recuperação da conta",
"Enabled" => "Activado",
"Disabled" => "Desactivado",
+"Change recovery key password:" => "Alterar a chave de recuperação:",
+"Old Recovery key password" => "Chave anterior de recuperação da conta",
+"New Recovery key password" => "Nova chave de recuperação da conta",
"Change Password" => "Mudar a Password",
+"Old log-in password" => "Password anterior da conta",
+"Current log-in password" => "Password actual da conta",
+"Enable password recovery:" => "ativar recuperação do password:",
+"Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" => "Ao activar esta opção, tornar-lhe-a possível a obtenção de acesso aos seus ficheiros encriptados caso perca a password.",
"File recovery settings updated" => "Actualizadas as definições de recuperação de ficheiros",
"Could not update file recovery" => "Não foi possível actualizar a recuperação de ficheiros"
);
diff --git a/apps/files_encryption/l10n/sl.php b/apps/files_encryption/l10n/sl.php
index 8b28ba011558afb74eae6f4af23926550322336f..016937c141599a092bb5ed096d914a83347d9a44 100644
--- a/apps/files_encryption/l10n/sl.php
+++ b/apps/files_encryption/l10n/sl.php
@@ -8,6 +8,8 @@
"Private key password successfully updated." => "Zasebni ključ za geslo je bil uspešno posodobljen.",
"Could not update the private key password. Maybe the old password was not correct." => "Zasebnega ključa za geslo ni bilo mogoče posodobiti. Morda vnos starega gesla ni bil pravilen.",
"Your private key is not valid! Likely your password was changed outside the ownCloud system (e.g. your corporate directory). You can update your private key password in your personal settings to recover access to your encrypted files." => "Vaš zasebni ključ ni veljaven. Morda je bilo vaše geslo spremenjeno zunaj sistema ownCloud (npr. v skupnem imeniku). Svoj zasebni ključ, ki vam bo omogočil dostop do šifriranih dokumentov, lahko posodobite v osebnih nastavitvah.",
+"Missing requirements." => "Manjkajoče zahteve",
+"Please make sure that PHP 5.3.3 or newer is installed and that the OpenSSL PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Preverite, da imate na strežniku nameščen PHP 5.3.3 ali novejši in da je omogočen in pravilno nastavljen PHP OpenSSL . Zaenkrat je šifriranje onemogočeno.",
"Saving..." => "Poteka shranjevanje ...",
"Your private key is not valid! Maybe the your password was changed from outside." => "Vaš zasebni ključ ni veljaven. Morda je bilo vaše geslo spremenjeno.",
"You can unlock your private key in your " => "Svoj zasebni ključ lahko odklenite v",
diff --git a/apps/files_encryption/l10n/sv.php b/apps/files_encryption/l10n/sv.php
index 3659e22bb4ea133940492a327947885338908573..2cef6686fce37b83eb4586680489cea68fa4a245 100644
--- a/apps/files_encryption/l10n/sv.php
+++ b/apps/files_encryption/l10n/sv.php
@@ -8,6 +8,8 @@
"Private key password successfully updated." => "Den privata lösenordsnyckeln uppdaterades utan problem.",
"Could not update the private key password. Maybe the old password was not correct." => "Kunde inte uppdatera den privata lösenordsnyckeln. Kanske var det gamla lösenordet fel.",
"Your private key is not valid! Likely your password was changed outside the ownCloud system (e.g. your corporate directory). You can update your private key password in your personal settings to recover access to your encrypted files." => "Din privata lösenordsnyckel är inte giltig! Troligen har ditt lösenord ändrats utanför ownCloud (t.ex. i företagets katalogtjänst). Du kan uppdatera den privata lösenordsnyckeln under dina personliga inställningar för att återfå tillgång till dina filer.",
+"Missing requirements." => "Krav som saknas",
+"Please make sure that PHP 5.3.3 or newer is installed and that the OpenSSL PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Kontrollera att PHP 5.3.3 eller senare är installerad och att tillägget OpenSSL PHP är aktiverad och rätt inställd. Kryperingsappen är därför tillsvidare inaktiverad.",
"Saving..." => "Sparar...",
"Your private key is not valid! Maybe the your password was changed from outside." => "Din privata lösenordsnyckel är inte giltig! Kanske byttes ditt lösenord från utsidan.",
"You can unlock your private key in your " => "Du kan låsa upp din privata nyckel i dina",
diff --git a/apps/files_encryption/l10n/zh_TW.php b/apps/files_encryption/l10n/zh_TW.php
index d34f51c4870bb6ad4f4217c49b8c68e70bbe63fe..cc43ec37a432204aa8ef32eaa4a8bfa0f4129d9b 100644
--- a/apps/files_encryption/l10n/zh_TW.php
+++ b/apps/files_encryption/l10n/zh_TW.php
@@ -1,11 +1,16 @@
"成功變更密碼。",
"Could not change the password. Maybe the old password was not correct." => "無法變更密碼,或許是輸入的舊密碼不正確。",
+"Your private key is not valid! Likely your password was changed outside the ownCloud system (e.g. your corporate directory). You can update your private key password in your personal settings to recover access to your encrypted files." => "您的私鑰不正確! 感覺像是密碼在 ownCloud 系統之外被改變(例:您的目錄)。 您可以在個人設定中更新私鑰密碼取回已加密的檔案。",
+"Please make sure that PHP 5.3.3 or newer is installed and that the OpenSSL PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "請確認已安裝 PHP 5.3.3 或更新的版本並啟用 OpenSSL PHP 且正確設定。目前 encryption app 不可使用。",
"Saving..." => "儲存中...",
"Encryption" => "加密",
"Enabled" => "已啓用",
"Disabled" => "已停用",
"Change Password" => "變更密碼",
+" If you don't remember your old password you can ask your administrator to recover your files." => "如果您忘記舊密碼,可以請求管理員協助取回檔案。",
+"Old log-in password" => "舊登入密碼",
+"Current log-in password" => "目前的登入密碼",
"File recovery settings updated" => "檔案還原設定已更新",
"Could not update file recovery" => "無法更新檔案還原設定"
);
diff --git a/apps/files_encryption/tests/keymanager.php b/apps/files_encryption/tests/keymanager.php
index 19ba9a8117f1ce509304408afe2dd9c73c44e060..b644856d95d35df68af1c6e29abcd1a92a52d915 100644
--- a/apps/files_encryption/tests/keymanager.php
+++ b/apps/files_encryption/tests/keymanager.php
@@ -14,6 +14,7 @@ require_once realpath(dirname(__FILE__) . '/../lib/stream.php');
require_once realpath(dirname(__FILE__) . '/../lib/util.php');
require_once realpath(dirname(__FILE__) . '/../lib/helper.php');
require_once realpath(dirname(__FILE__) . '/../appinfo/app.php');
+require_once realpath(dirname(__FILE__) . '/util.php');
use OCA\Encryption;
@@ -22,6 +23,8 @@ use OCA\Encryption;
*/
class Test_Encryption_Keymanager extends \PHPUnit_Framework_TestCase {
+ const TEST_USER = "test-keymanager-user";
+
public $userId;
public $pass;
public $stateFilesTrashbin;
@@ -47,17 +50,9 @@ class Test_Encryption_Keymanager extends \PHPUnit_Framework_TestCase {
// disable file proxy by default
\OC_FileProxy::$enabled = false;
- // setup filesystem
- \OC_Util::tearDownFS();
- \OC_User::setUserId('');
- \OC\Files\Filesystem::tearDown();
- \OC_Util::setupFS('admin');
- \OC_User::setUserId('admin');
-
- // login admin
- $params['uid'] = 'admin';
- $params['password'] = 'admin';
- OCA\Encryption\Hooks::login($params);
+ // create test user
+ \OC_User::deleteUser(\Test_Encryption_Keymanager::TEST_USER);
+ \Test_Encryption_Util::loginHelper(\Test_Encryption_Keymanager::TEST_USER, true);
}
function setUp() {
@@ -75,9 +70,9 @@ class Test_Encryption_Keymanager extends \PHPUnit_Framework_TestCase {
$this->view = new \OC_FilesystemView('/');
- \OC_User::setUserId('admin');
- $this->userId = 'admin';
- $this->pass = 'admin';
+ \OC_User::setUserId(\Test_Encryption_Keymanager::TEST_USER);
+ $this->userId = \Test_Encryption_Keymanager::TEST_USER;
+ $this->pass = \Test_Encryption_Keymanager::TEST_USER;
$userHome = \OC_User::getHome($this->userId);
$this->dataDir = str_replace('/' . $this->userId, '', $userHome);
@@ -101,6 +96,9 @@ class Test_Encryption_Keymanager extends \PHPUnit_Framework_TestCase {
public static function tearDownAfterClass() {
\OC_FileProxy::$enabled = true;
+
+ // cleanup test user
+ \OC_User::deleteUser(\Test_Encryption_Keymanager::TEST_USER);
}
/**
@@ -226,9 +224,9 @@ class Test_Encryption_Keymanager extends \PHPUnit_Framework_TestCase {
$filename = '/tmp-' . time() . '.txt';
// create folder structure
- $this->view->mkdir('/admin/files/folder1');
- $this->view->mkdir('/admin/files/folder1/subfolder');
- $this->view->mkdir('/admin/files/folder1/subfolder/subsubfolder');
+ $this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files/folder1');
+ $this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files/folder1/subfolder');
+ $this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files/folder1/subfolder/subsubfolder');
// enable encryption proxy
$proxyStatus = \OC_FileProxy::$enabled;
diff --git a/apps/files_encryption/tests/share.php b/apps/files_encryption/tests/share.php
index ebf678da78ed2f7f536da7db852c47b34e8a3972..5f3d500509007b1fd2be7b400961d31fcd1fb99b 100755
--- a/apps/files_encryption/tests/share.php
+++ b/apps/files_encryption/tests/share.php
@@ -881,8 +881,13 @@ class Test_Encryption_Share extends \PHPUnit_Framework_TestCase {
\OC_FileProxy::$enabled = $proxyStatus;
// share the file
- \OCP\Share::shareItem('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_GROUP, \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_GROUP1, OCP\PERMISSION_ALL);
-
+ try {
+ \OCP\Share::shareItem('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_GROUP, \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_GROUP1, OCP\PERMISSION_ALL);
+ } catch (Exception $e) {
+ $this->assertEquals(0, strpos($e->getMessage(), "Following users are not set up for encryption"));
+ }
+
+
// login as admin
\Test_Encryption_Util::loginHelper(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Aws.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Aws.php
new file mode 100644
index 0000000000000000000000000000000000000000..bd3175be59156917b47378a8f306670ae743c503
--- /dev/null
+++ b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Aws.php
@@ -0,0 +1,107 @@
+addAlias('_aws', self::getDefaultServiceDefinition())
+ ->addAlias('_sdk1', __DIR__ . '/Resources/sdk1-config.php');
+
+ return $loader->load($config, $globalParameters);
+ }
+
+ /**
+ * Get the full path to the default service builder definition file
+ *
+ * @return string
+ */
+ public static function getDefaultServiceDefinition()
+ {
+ return __DIR__ . '/Resources/aws-config.php';
+ }
+
+ /**
+ * Returns the configuration for the service builder
+ *
+ * @return array
+ */
+ public function getConfig()
+ {
+ return $this->builderConfig;
+ }
+
+ /**
+ * Enables the facades for the clients defined in the service builder
+ *
+ * @param string|null $namespace The namespace that the facades should be mounted to. Defaults to global namespace
+ *
+ * @return Aws
+ */
+ public function enableFacades($namespace = null)
+ {
+ $facadeClass = 'Aws\\Common\\Facade\\Facade';
+ if (class_exists($facadeClass)) {
+ $facadeClass::mountFacades($this, $namespace);
+ }
+
+ return $this;
+ }
+}
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/AbstractClient.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/AbstractClient.php
new file mode 100644
index 0000000000000000000000000000000000000000..0187cdb15c33df5482fb5c5b0626eec26039a2fd
--- /dev/null
+++ b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/AbstractClient.php
@@ -0,0 +1,273 @@
+get(Options::BASE_URL), $config);
+ $this->credentials = $credentials;
+ $this->signature = $signature;
+
+ // Make sure the user agent is prefixed by the SDK version
+ $this->setUserAgent('aws-sdk-php2/' . Aws::VERSION, true);
+
+ // Add the event listener so that requests are signed before they are sent
+ $dispatcher = $this->getEventDispatcher();
+ $dispatcher->addSubscriber(new SignatureListener($credentials, $signature));
+
+ if ($backoff = $config->get(Options::BACKOFF)) {
+ $dispatcher->addSubscriber($backoff, -255);
+ }
+ }
+
+ public function __call($method, $args)
+ {
+ if (substr($method, 0, 3) === 'get' && substr($method, -8) === 'Iterator') {
+ // Allow magic method calls for iterators (e.g. $client->get
+ * var_export($response->getLinks());
+ * array(
+ * array(
+ * 'url' => 'http:/.../front.jpeg',
+ * 'rel' => 'back',
+ * 'type' => 'image/jpeg',
+ * )
+ * )
+ *
+ *
+ * @return array
+ */
+ public function getLinks()
+ {
+ $links = $this->parseParams();
+
+ foreach ($links as &$link) {
+ $key = key($link);
+ unset($link[$key]);
+ $link['url'] = trim($key, '<> ');
+ }
+
+ return $links;
+ }
+}
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message/MessageInterface.php b/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message/MessageInterface.php
new file mode 100644
index 0000000000000000000000000000000000000000..62bcd4391339802327691ca1d2cffd138ebb2e2e
--- /dev/null
+++ b/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message/MessageInterface.php
@@ -0,0 +1,102 @@
+fieldName = $fieldName;
+ $this->setFilename($filename);
+ $this->contentType = $contentType ?: $this->guessContentType();
+ }
+
+ public function setFieldName($name)
+ {
+ $this->fieldName = $name;
+
+ return $this;
+ }
+
+ public function getFieldName()
+ {
+ return $this->fieldName;
+ }
+
+ public function setFilename($filename)
+ {
+ // Remove leading @ symbol
+ if (strpos($filename, '@') === 0) {
+ $filename = substr($filename, 1);
+ }
+
+ if (!is_readable($filename)) {
+ throw new InvalidArgumentException("Unable to open {$filename} for reading");
+ }
+
+ $this->filename = $filename;
+
+ return $this;
+ }
+
+ public function getFilename()
+ {
+ return $this->filename;
+ }
+
+ public function setContentType($type)
+ {
+ $this->contentType = $type;
+
+ return $this;
+ }
+
+ public function getContentType()
+ {
+ return $this->contentType;
+ }
+
+ public function getCurlValue()
+ {
+ // PHP 5.5 introduced a CurlFile object that deprecates the old @filename syntax
+ // See: https://wiki.php.net/rfc/curl-file-upload
+ if (function_exists('curl_file_create')) {
+ return curl_file_create($this->filename, $this->contentType, basename($this->filename));
+ }
+
+ // Use the old style if using an older version of PHP
+ $value = "@{$this->filename};filename=" . basename($this->filename);
+ if ($this->contentType) {
+ $value .= ';type=' . $this->contentType;
+ }
+
+ return $value;
+ }
+
+ /**
+ * @deprecated
+ * @codeCoverageIgnore
+ */
+ public function getCurlString()
+ {
+ Version::warn(__METHOD__ . ' is deprecated. Use getCurlValue()');
+ return $this->getCurlValue();
+ }
+
+ /**
+ * Determine the Content-Type of the file
+ */
+ protected function guessContentType()
+ {
+ return Mimetypes::getInstance()->fromFilename($this->filename) ?: 'application/octet-stream';
+ }
+}
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message/PostFileInterface.php b/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message/PostFileInterface.php
new file mode 100644
index 0000000000000000000000000000000000000000..99dc706946f5b50e1a94d183873b9a2585f91f6a
--- /dev/null
+++ b/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message/PostFileInterface.php
@@ -0,0 +1,67 @@
+method = strtoupper($method);
+ $this->curlOptions = new Collection();
+ $this->setUrl($url);
+
+ if ($headers) {
+ // Special handling for multi-value headers
+ foreach ($headers as $key => $value) {
+ // Deal with collisions with Host and Authorization
+ if ($key == 'host' || $key == 'Host') {
+ $this->setHeader($key, $value);
+ } elseif ($value instanceof HeaderInterface) {
+ $this->addHeader($key, $value);
+ } else {
+ foreach ((array) $value as $v) {
+ $this->addHeader($key, $v);
+ }
+ }
+ }
+ }
+
+ $this->setState(self::STATE_NEW);
+ }
+
+ public function __clone()
+ {
+ if ($this->eventDispatcher) {
+ $this->eventDispatcher = clone $this->eventDispatcher;
+ }
+ $this->curlOptions = clone $this->curlOptions;
+ $this->params = clone $this->params;
+ $this->url = clone $this->url;
+ $this->response = $this->responseBody = null;
+ $this->headers = clone $this->headers;
+
+ $this->setState(RequestInterface::STATE_NEW);
+ $this->dispatch('request.clone', array('request' => $this));
+ }
+
+ /**
+ * Get the HTTP request as a string
+ *
+ * @return string
+ */
+ public function __toString()
+ {
+ return $this->getRawHeaders() . "\r\n\r\n";
+ }
+
+ /**
+ * Default method that will throw exceptions if an unsuccessful response is received.
+ *
+ * @param Event $event Received
+ * @throws BadResponseException if the response is not successful
+ */
+ public static function onRequestError(Event $event)
+ {
+ $e = BadResponseException::factory($event['request'], $event['response']);
+ $event['request']->setState(self::STATE_ERROR, array('exception' => $e) + $event->toArray());
+ throw $e;
+ }
+
+ public function setClient(ClientInterface $client)
+ {
+ $this->client = $client;
+
+ return $this;
+ }
+
+ public function getClient()
+ {
+ return $this->client;
+ }
+
+ public function getRawHeaders()
+ {
+ $protocolVersion = $this->protocolVersion ?: '1.1';
+
+ return trim($this->method . ' ' . $this->getResource()) . ' '
+ . strtoupper(str_replace('https', 'http', $this->url->getScheme()))
+ . '/' . $protocolVersion . "\r\n" . implode("\r\n", $this->getHeaderLines());
+ }
+
+ public function setUrl($url)
+ {
+ if ($url instanceof Url) {
+ $this->url = $url;
+ } else {
+ $this->url = Url::factory($url);
+ }
+
+ // Update the port and host header
+ $this->setPort($this->url->getPort());
+
+ if ($this->url->getUsername() || $this->url->getPassword()) {
+ $this->setAuth($this->url->getUsername(), $this->url->getPassword());
+ // Remove the auth info from the URL
+ $this->url->setUsername(null);
+ $this->url->setPassword(null);
+ }
+
+ return $this;
+ }
+
+ public function send()
+ {
+ if (!$this->client) {
+ throw new RuntimeException('A client must be set on the request');
+ }
+
+ return $this->client->send($this);
+ }
+
+ public function getResponse()
+ {
+ return $this->response;
+ }
+
+ public function getQuery($asString = false)
+ {
+ return $asString
+ ? (string) $this->url->getQuery()
+ : $this->url->getQuery();
+ }
+
+ public function getMethod()
+ {
+ return $this->method;
+ }
+
+ public function getScheme()
+ {
+ return $this->url->getScheme();
+ }
+
+ public function setScheme($scheme)
+ {
+ $this->url->setScheme($scheme);
+
+ return $this;
+ }
+
+ public function getHost()
+ {
+ return $this->url->getHost();
+ }
+
+ public function setHost($host)
+ {
+ $this->url->setHost($host);
+ $this->setPort($this->url->getPort());
+
+ return $this;
+ }
+
+ public function getProtocolVersion()
+ {
+ return $this->protocolVersion;
+ }
+
+ public function setProtocolVersion($protocol)
+ {
+ $this->protocolVersion = $protocol;
+
+ return $this;
+ }
+
+ public function getPath()
+ {
+ return '/' . ltrim($this->url->getPath(), '/');
+ }
+
+ public function setPath($path)
+ {
+ $this->url->setPath($path);
+
+ return $this;
+ }
+
+ public function getPort()
+ {
+ return $this->url->getPort();
+ }
+
+ public function setPort($port)
+ {
+ $this->url->setPort($port);
+
+ // Include the port in the Host header if it is not the default port for the scheme of the URL
+ $scheme = $this->url->getScheme();
+ if (($scheme == 'http' && $port != 80) || ($scheme == 'https' && $port != 443)) {
+ $this->headers['host'] = $this->headerFactory->createHeader('Host', $this->url->getHost() . ':' . $port);
+ } else {
+ $this->headers['host'] = $this->headerFactory->createHeader('Host', $this->url->getHost());
+ }
+
+ return $this;
+ }
+
+ public function getUsername()
+ {
+ return $this->username;
+ }
+
+ public function getPassword()
+ {
+ return $this->password;
+ }
+
+ public function setAuth($user, $password = '', $scheme = CURLAUTH_BASIC)
+ {
+ static $authMap = array(
+ 'basic' => CURLAUTH_BASIC,
+ 'digest' => CURLAUTH_DIGEST,
+ 'ntlm' => CURLAUTH_NTLM,
+ 'any' => CURLAUTH_ANY
+ );
+
+ // If we got false or null, disable authentication
+ if (!$user) {
+ $this->password = $this->username = null;
+ $this->removeHeader('Authorization');
+ $this->getCurlOptions()->remove(CURLOPT_HTTPAUTH);
+ return $this;
+ }
+
+ if (!is_numeric($scheme)) {
+ $scheme = strtolower($scheme);
+ if (!isset($authMap[$scheme])) {
+ throw new InvalidArgumentException($scheme . ' is not a valid authentication type');
+ }
+ $scheme = $authMap[$scheme];
+ }
+
+ $this->username = $user;
+ $this->password = $password;
+
+ // Bypass CURL when using basic auth to promote connection reuse
+ if ($scheme == CURLAUTH_BASIC) {
+ $this->getCurlOptions()->remove(CURLOPT_HTTPAUTH);
+ $this->setHeader('Authorization', 'Basic ' . base64_encode($this->username . ':' . $this->password));
+ } else {
+ $this->getCurlOptions()
+ ->set(CURLOPT_HTTPAUTH, $scheme)
+ ->set(CURLOPT_USERPWD, $this->username . ':' . $this->password);
+ }
+
+ return $this;
+ }
+
+ public function getResource()
+ {
+ $resource = $this->getPath();
+ if ($query = (string) $this->url->getQuery()) {
+ $resource .= '?' . $query;
+ }
+
+ return $resource;
+ }
+
+ public function getUrl($asObject = false)
+ {
+ return $asObject ? clone $this->url : (string) $this->url;
+ }
+
+ public function getState()
+ {
+ return $this->state;
+ }
+
+ public function setState($state, array $context = array())
+ {
+ $oldState = $this->state;
+ $this->state = $state;
+
+ switch ($state) {
+ case self::STATE_NEW:
+ $this->response = null;
+ break;
+ case self::STATE_TRANSFER:
+ if ($oldState !== $state) {
+ // Fix Content-Length and Transfer-Encoding collisions
+ if ($this->hasHeader('Transfer-Encoding') && $this->hasHeader('Content-Length')) {
+ $this->removeHeader('Transfer-Encoding');
+ }
+ $this->dispatch('request.before_send', array('request' => $this));
+ }
+ break;
+ case self::STATE_COMPLETE:
+ if ($oldState !== $state) {
+ $this->processResponse($context);
+ $this->responseBody = null;
+ }
+ break;
+ case self::STATE_ERROR:
+ if (isset($context['exception'])) {
+ $this->dispatch('request.exception', array(
+ 'request' => $this,
+ 'response' => isset($context['response']) ? $context['response'] : $this->response,
+ 'exception' => isset($context['exception']) ? $context['exception'] : null
+ ));
+ }
+ }
+
+ return $this->state;
+ }
+
+ public function getCurlOptions()
+ {
+ return $this->curlOptions;
+ }
+
+ public function startResponse(Response $response)
+ {
+ $this->state = self::STATE_TRANSFER;
+ $response->setEffectiveUrl((string) $this->getUrl());
+ $this->response = $response;
+
+ return $this;
+ }
+
+ public function setResponse(Response $response, $queued = false)
+ {
+ $response->setEffectiveUrl((string) $this->url);
+
+ if ($queued) {
+ $ed = $this->getEventDispatcher();
+ $ed->addListener('request.before_send', $f = function ($e) use ($response, &$f, $ed) {
+ $e['request']->setResponse($response);
+ $ed->removeListener('request.before_send', $f);
+ }, -9999);
+ } else {
+ $this->response = $response;
+ // If a specific response body is specified, then use it instead of the response's body
+ if ($this->responseBody && !$this->responseBody->getCustomData('default') && !$response->isRedirect()) {
+ $this->getResponseBody()->write((string) $this->response->getBody());
+ } else {
+ $this->responseBody = $this->response->getBody();
+ }
+ $this->setState(self::STATE_COMPLETE);
+ }
+
+ return $this;
+ }
+
+ public function setResponseBody($body)
+ {
+ // Attempt to open a file for writing if a string was passed
+ if (is_string($body)) {
+ // @codeCoverageIgnoreStart
+ if (!($body = fopen($body, 'w+'))) {
+ throw new InvalidArgumentException('Could not open ' . $body . ' for writing');
+ }
+ // @codeCoverageIgnoreEnd
+ }
+
+ $this->responseBody = EntityBody::factory($body);
+
+ return $this;
+ }
+
+ public function getResponseBody()
+ {
+ if ($this->responseBody === null) {
+ $this->responseBody = EntityBody::factory()->setCustomData('default', true);
+ }
+
+ return $this->responseBody;
+ }
+
+ /**
+ * Determine if the response body is repeatable (readable + seekable)
+ *
+ * @return bool
+ * @deprecated Use getResponseBody()->isSeekable()
+ * @codeCoverageIgnore
+ */
+ public function isResponseBodyRepeatable()
+ {
+ Version::warn(__METHOD__ . ' is deprecated. Use $request->getResponseBody()->isRepeatable()');
+ return !$this->responseBody ? true : $this->responseBody->isRepeatable();
+ }
+
+ public function getCookies()
+ {
+ if ($cookie = $this->getHeader('Cookie')) {
+ $data = ParserRegistry::getInstance()->getParser('cookie')->parseCookie($cookie);
+ return $data['cookies'];
+ }
+
+ return array();
+ }
+
+ public function getCookie($name)
+ {
+ $cookies = $this->getCookies();
+
+ return isset($cookies[$name]) ? $cookies[$name] : null;
+ }
+
+ public function addCookie($name, $value)
+ {
+ if (!$this->hasHeader('Cookie')) {
+ $this->setHeader('Cookie', "{$name}={$value}");
+ } else {
+ $this->getHeader('Cookie')->add("{$name}={$value}");
+ }
+
+ // Always use semicolons to separate multiple cookie headers
+ $this->getHeader('Cookie')->setGlue(';');
+
+ return $this;
+ }
+
+ public function removeCookie($name)
+ {
+ if ($cookie = $this->getHeader('Cookie')) {
+ foreach ($cookie as $cookieValue) {
+ if (strpos($cookieValue, $name . '=') === 0) {
+ $cookie->removeValue($cookieValue);
+ }
+ }
+ }
+
+ return $this;
+ }
+
+ public function setEventDispatcher(EventDispatcherInterface $eventDispatcher)
+ {
+ $this->eventDispatcher = $eventDispatcher;
+ $this->eventDispatcher->addListener('request.error', array(__CLASS__, 'onRequestError'), -255);
+
+ return $this;
+ }
+
+ public function getEventDispatcher()
+ {
+ if (!$this->eventDispatcher) {
+ $this->setEventDispatcher(new EventDispatcher());
+ }
+
+ return $this->eventDispatcher;
+ }
+
+ public function dispatch($eventName, array $context = array())
+ {
+ $context['request'] = $this;
+ $this->getEventDispatcher()->dispatch($eventName, new Event($context));
+ }
+
+ public function addSubscriber(EventSubscriberInterface $subscriber)
+ {
+ $this->getEventDispatcher()->addSubscriber($subscriber);
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ * Adds a check for Host header changes
+ */
+ public function addHeader($header, $value)
+ {
+ parent::addHeader($header, $value);
+
+ if ($header == 'host' || $header == 'Host') {
+ $this->setHost((string) $this->getHeader('Host'));
+ }
+
+ return $this;
+ }
+
+ /**
+ * Get an array containing the request and response for event notifications
+ *
+ * @return array
+ */
+ protected function getEventArray()
+ {
+ return array(
+ 'request' => $this,
+ 'response' => $this->response
+ );
+ }
+
+ /**
+ * Process a received response
+ *
+ * @param array $context Contextual information
+ * @throws RequestException|BadResponseException on unsuccessful responses
+ */
+ protected function processResponse(array $context = array())
+ {
+ if (!$this->response) {
+ // If no response, then processResponse shouldn't have been called
+ $e = new RequestException('Error completing request');
+ $e->setRequest($this);
+ throw $e;
+ }
+
+ $this->state = self::STATE_COMPLETE;
+
+ // A request was sent, but we don't know if we'll send more or if the final response will be successful
+ $this->dispatch('request.sent', $this->getEventArray() + $context);
+
+ // Some response processors will remove the response or reset the state (example: ExponentialBackoffPlugin)
+ if ($this->state == RequestInterface::STATE_COMPLETE) {
+
+ // The request completed, so the HTTP transaction is complete
+ $this->dispatch('request.complete', $this->getEventArray());
+
+ // If the response is bad, allow listeners to modify it or throw exceptions. You can change the response by
+ // modifying the Event object in your listeners or calling setResponse() on the request
+ if ($this->response->isError()) {
+ $event = new Event($this->getEventArray());
+ $this->getEventDispatcher()->dispatch('request.error', $event);
+ // Allow events of request.error to quietly change the response
+ if ($event['response'] !== $this->response) {
+ $this->response = $event['response'];
+ }
+ }
+
+ // If a successful response was received, dispatch an event
+ if ($this->response->isSuccessful()) {
+ $this->dispatch('request.success', $this->getEventArray());
+ }
+ }
+ }
+
+ /**
+ * @deprecated Use Guzzle\Plugin\Cache\DefaultCanCacheStrategy
+ * @codeCoverageIgnore
+ */
+ public function canCache()
+ {
+ Version::warn(__METHOD__ . ' is deprecated. Use Guzzle\Plugin\Cache\DefaultCanCacheStrategy.');
+ if (class_exists('Guzzle\Plugin\Cache\DefaultCanCacheStrategy')) {
+ $canCache = new \Guzzle\Plugin\Cache\DefaultCanCacheStrategy();
+ return $canCache->canCacheRequest($this);
+ } else {
+ return false;
+ }
+ }
+
+ /**
+ * @deprecated Use the history plugin (not emitting a warning as this is built-into the RedirectPlugin for now)
+ * @codeCoverageIgnore
+ */
+ public function setIsRedirect($isRedirect)
+ {
+ $this->isRedirect = $isRedirect;
+
+ return $this;
+ }
+
+ /**
+ * @deprecated Use the history plugin
+ * @codeCoverageIgnore
+ */
+ public function isRedirect()
+ {
+ Version::warn(__METHOD__ . ' is deprecated. Use the HistoryPlugin to track this.');
+ return $this->isRedirect;
+ }
+}
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message/RequestFactory.php b/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message/RequestFactory.php
new file mode 100644
index 0000000000000000000000000000000000000000..f14d0879c36cefc74aa83104326a0aa82d7dcc38
--- /dev/null
+++ b/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message/RequestFactory.php
@@ -0,0 +1,336 @@
+methods = array_flip(get_class_methods(__CLASS__));
+ }
+
+ public function fromMessage($message)
+ {
+ $parsed = ParserRegistry::getInstance()->getParser('message')->parseRequest($message);
+
+ if (!$parsed) {
+ return false;
+ }
+
+ $request = $this->fromParts($parsed['method'], $parsed['request_url'],
+ $parsed['headers'], $parsed['body'], $parsed['protocol'],
+ $parsed['version']);
+
+ // EntityEnclosingRequest adds an "Expect: 100-Continue" header when using a raw request body for PUT or POST
+ // requests. This factory method should accurately reflect the message, so here we are removing the Expect
+ // header if one was not supplied in the message.
+ if (!isset($parsed['headers']['Expect']) && !isset($parsed['headers']['expect'])) {
+ $request->removeHeader('Expect');
+ }
+
+ return $request;
+ }
+
+ public function fromParts(
+ $method,
+ array $urlParts,
+ $headers = null,
+ $body = null,
+ $protocol = 'HTTP',
+ $protocolVersion = '1.1'
+ ) {
+ return $this->create($method, Url::buildUrl($urlParts), $headers, $body)
+ ->setProtocolVersion($protocolVersion);
+ }
+
+ public function create($method, $url, $headers = null, $body = null, array $options = array())
+ {
+ $method = strtoupper($method);
+
+ if ($method == 'GET' || $method == 'HEAD' || $method == 'TRACE' || $method == 'OPTIONS') {
+ // Handle non-entity-enclosing request methods
+ $request = new $this->requestClass($method, $url, $headers);
+ if ($body) {
+ // The body is where the response body will be stored
+ $type = gettype($body);
+ if ($type == 'string' || $type == 'resource' || $type == 'object') {
+ $request->setResponseBody($body);
+ }
+ }
+ } else {
+ // Create an entity enclosing request by default
+ $request = new $this->entityEnclosingRequestClass($method, $url, $headers);
+ if ($body) {
+ // Add POST fields and files to an entity enclosing request if an array is used
+ if (is_array($body) || $body instanceof Collection) {
+ // Normalize PHP style cURL uploads with a leading '@' symbol
+ foreach ($body as $key => $value) {
+ if (is_string($value) && substr($value, 0, 1) == '@') {
+ $request->addPostFile($key, $value);
+ unset($body[$key]);
+ }
+ }
+ // Add the fields if they are still present and not all files
+ $request->addPostFields($body);
+ } else {
+ // Add a raw entity body body to the request
+ $request->setBody($body, (string) $request->getHeader('Content-Type'));
+ if ((string) $request->getHeader('Transfer-Encoding') == 'chunked') {
+ $request->removeHeader('Content-Length');
+ }
+ }
+ }
+ }
+
+ if ($options) {
+ $this->applyOptions($request, $options);
+ }
+
+ return $request;
+ }
+
+ /**
+ * Clone a request while changing the method. Emulates the behavior of
+ * {@see Guzzle\Http\Message\Request::clone}, but can change the HTTP method.
+ *
+ * @param RequestInterface $request Request to clone
+ * @param string $method Method to set
+ *
+ * @return RequestInterface
+ */
+ public function cloneRequestWithMethod(RequestInterface $request, $method)
+ {
+ // Create the request with the same client if possible
+ if ($client = $request->getClient()) {
+ $cloned = $request->getClient()->createRequest($method, $request->getUrl(), $request->getHeaders());
+ } else {
+ $cloned = $this->create($method, $request->getUrl(), $request->getHeaders());
+ }
+
+ $cloned->getCurlOptions()->replace($request->getCurlOptions()->toArray());
+ $cloned->setEventDispatcher(clone $request->getEventDispatcher());
+ // Ensure that that the Content-Length header is not copied if changing to GET or HEAD
+ if (!($cloned instanceof EntityEnclosingRequestInterface)) {
+ $cloned->removeHeader('Content-Length');
+ } elseif ($request instanceof EntityEnclosingRequestInterface) {
+ $cloned->setBody($request->getBody());
+ }
+ $cloned->getParams()->replace($request->getParams()->toArray());
+ $cloned->dispatch('request.clone', array('request' => $cloned));
+
+ return $cloned;
+ }
+
+ public function applyOptions(RequestInterface $request, array $options = array(), $flags = self::OPTIONS_NONE)
+ {
+ // Iterate over each key value pair and attempt to apply a config using function visitors
+ foreach ($options as $key => $value) {
+ $method = "visit_{$key}";
+ if (isset($this->methods[$method])) {
+ $this->{$method}($request, $value, $flags);
+ }
+ }
+ }
+
+ protected function visit_headers(RequestInterface $request, $value, $flags)
+ {
+ if (!is_array($value)) {
+ throw new InvalidArgumentException('headers value must be an array');
+ }
+
+ if ($flags & self::OPTIONS_AS_DEFAULTS) {
+ // Merge headers in but do not overwrite existing values
+ foreach ($value as $key => $header) {
+ if (!$request->hasHeader($key)) {
+ $request->setHeader($key, $header);
+ }
+ }
+ } else {
+ $request->addHeaders($value);
+ }
+ }
+
+ protected function visit_body(RequestInterface $request, $value, $flags)
+ {
+ if ($request instanceof EntityEnclosingRequestInterface) {
+ $request->setBody($value);
+ } else {
+ throw new InvalidArgumentException('Attempting to set a body on a non-entity-enclosing request');
+ }
+ }
+
+ protected function visit_allow_redirects(RequestInterface $request, $value, $flags)
+ {
+ if ($value === false) {
+ $request->getParams()->set(RedirectPlugin::DISABLE, true);
+ }
+ }
+
+ protected function visit_auth(RequestInterface $request, $value, $flags)
+ {
+ if (!is_array($value)) {
+ throw new InvalidArgumentException('auth value must be an array');
+ }
+
+ $request->setAuth($value[0], isset($value[1]) ? $value[1] : null, isset($value[2]) ? $value[2] : 'basic');
+ }
+
+ protected function visit_query(RequestInterface $request, $value, $flags)
+ {
+ if (!is_array($value)) {
+ throw new InvalidArgumentException('query value must be an array');
+ }
+
+ if ($flags & self::OPTIONS_AS_DEFAULTS) {
+ // Merge query string values in but do not overwrite existing values
+ $query = $request->getQuery();
+ $query->overwriteWith(array_diff_key($value, $query->toArray()));
+ } else {
+ $request->getQuery()->overwriteWith($value);
+ }
+ }
+
+ protected function visit_cookies(RequestInterface $request, $value, $flags)
+ {
+ if (!is_array($value)) {
+ throw new InvalidArgumentException('cookies value must be an array');
+ }
+
+ foreach ($value as $name => $v) {
+ $request->addCookie($name, $v);
+ }
+ }
+
+ protected function visit_events(RequestInterface $request, $value, $flags)
+ {
+ if (!is_array($value)) {
+ throw new InvalidArgumentException('events value must be an array');
+ }
+
+ foreach ($value as $name => $method) {
+ if (is_array($method)) {
+ $request->getEventDispatcher()->addListener($name, $method[0], $method[1]);
+ } else {
+ $request->getEventDispatcher()->addListener($name, $method);
+ }
+ }
+ }
+
+ protected function visit_plugins(RequestInterface $request, $value, $flags)
+ {
+ if (!is_array($value)) {
+ throw new InvalidArgumentException('plugins value must be an array');
+ }
+
+ foreach ($value as $plugin) {
+ $request->addSubscriber($plugin);
+ }
+ }
+
+ protected function visit_exceptions(RequestInterface $request, $value, $flags)
+ {
+ if ($value === false || $value === 0) {
+ $dispatcher = $request->getEventDispatcher();
+ foreach ($dispatcher->getListeners('request.error') as $listener) {
+ if ($listener[0] == 'Guzzle\Http\Message\Request' && $listener[1] = 'onRequestError') {
+ $dispatcher->removeListener('request.error', $listener);
+ break;
+ }
+ }
+ }
+ }
+
+ protected function visit_save_to(RequestInterface $request, $value, $flags)
+ {
+ $request->setResponseBody($value);
+ }
+
+ protected function visit_params(RequestInterface $request, $value, $flags)
+ {
+ if (!is_array($value)) {
+ throw new InvalidArgumentException('params value must be an array');
+ }
+
+ $request->getParams()->overwriteWith($value);
+ }
+
+ protected function visit_timeout(RequestInterface $request, $value, $flags)
+ {
+ $request->getCurlOptions()->set(CURLOPT_TIMEOUT_MS, $value * 1000);
+ }
+
+ protected function visit_connect_timeout(RequestInterface $request, $value, $flags)
+ {
+ $request->getCurlOptions()->set(CURLOPT_CONNECTTIMEOUT_MS, $value * 1000);
+ }
+
+ protected function visit_debug(RequestInterface $request, $value, $flags)
+ {
+ if (class_exists('Guzzle\Plugin\Log\LogPlugin')) {
+ $request->addSubscriber(LogPlugin::getDebugPlugin());
+ } else {
+ // @codeCoverageIgnoreStart
+ $request->getCurlOptions()->set(CURLOPT_VERBOSE, true);
+ // @codeCoverageIgnoreEnd
+ }
+ }
+
+ protected function visit_verify(RequestInterface $request, $value, $flags)
+ {
+ $curl = $request->getCurlOptions();
+ if ($value === true || is_string($value)) {
+ $curl[CURLOPT_SSL_VERIFYHOST] = 2;
+ $curl[CURLOPT_SSL_VERIFYPEER] = true;
+ if ($value !== true) {
+ $curl[CURLOPT_CAINFO] = $value;
+ }
+ } elseif ($value === false) {
+ unset($curl[CURLOPT_CAINFO]);
+ $curl[CURLOPT_SSL_VERIFYHOST] = 0;
+ $curl[CURLOPT_SSL_VERIFYPEER] = false;
+ }
+ }
+
+ protected function visit_proxy(RequestInterface $request, $value, $flags)
+ {
+ $request->getCurlOptions()->set(CURLOPT_PROXY, $value, $flags);
+ }
+}
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message/RequestFactoryInterface.php b/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message/RequestFactoryInterface.php
new file mode 100644
index 0000000000000000000000000000000000000000..5f31b5060be930f9274315fc5dcb50eacb258d35
--- /dev/null
+++ b/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message/RequestFactoryInterface.php
@@ -0,0 +1,99 @@
+ 'Continue',
+ 101 => 'Switching Protocols',
+ 102 => 'Processing',
+ 200 => 'OK',
+ 201 => 'Created',
+ 202 => 'Accepted',
+ 203 => 'Non-Authoritative Information',
+ 204 => 'No Content',
+ 205 => 'Reset Content',
+ 206 => 'Partial Content',
+ 207 => 'Multi-Status',
+ 208 => 'Already Reported',
+ 226 => 'IM Used',
+ 300 => 'Multiple Choices',
+ 301 => 'Moved Permanently',
+ 302 => 'Found',
+ 303 => 'See Other',
+ 304 => 'Not Modified',
+ 305 => 'Use Proxy',
+ 307 => 'Temporary Redirect',
+ 308 => 'Permanent Redirect',
+ 400 => 'Bad Request',
+ 401 => 'Unauthorized',
+ 402 => 'Payment Required',
+ 403 => 'Forbidden',
+ 404 => 'Not Found',
+ 405 => 'Method Not Allowed',
+ 406 => 'Not Acceptable',
+ 407 => 'Proxy Authentication Required',
+ 408 => 'Request Timeout',
+ 409 => 'Conflict',
+ 410 => 'Gone',
+ 411 => 'Length Required',
+ 412 => 'Precondition Failed',
+ 413 => 'Request Entity Too Large',
+ 414 => 'Request-URI Too Long',
+ 415 => 'Unsupported Media Type',
+ 416 => 'Requested Range Not Satisfiable',
+ 417 => 'Expectation Failed',
+ 422 => 'Unprocessable Entity',
+ 423 => 'Locked',
+ 424 => 'Failed Dependency',
+ 425 => 'Reserved for WebDAV advanced collections expired proposal',
+ 426 => 'Upgrade required',
+ 428 => 'Precondition Required',
+ 429 => 'Too Many Requests',
+ 431 => 'Request Header Fields Too Large',
+ 500 => 'Internal Server Error',
+ 501 => 'Not Implemented',
+ 502 => 'Bad Gateway',
+ 503 => 'Service Unavailable',
+ 504 => 'Gateway Timeout',
+ 505 => 'HTTP Version Not Supported',
+ 506 => 'Variant Also Negotiates (Experimental)',
+ 507 => 'Insufficient Storage',
+ 508 => 'Loop Detected',
+ 510 => 'Not Extended',
+ 511 => 'Network Authentication Required',
+ );
+
+ /** @var EntityBodyInterface The response body */
+ protected $body;
+
+ /** @var string The reason phrase of the response (human readable code) */
+ protected $reasonPhrase;
+
+ /** @var string The status code of the response */
+ protected $statusCode;
+
+ /** @var array Information about the request */
+ protected $info = array();
+
+ /** @var string The effective URL that returned this response */
+ protected $effectiveUrl;
+
+ /** @var array Cacheable response codes (see RFC 2616:13.4) */
+ protected static $cacheResponseCodes = array(200, 203, 206, 300, 301, 410);
+
+ /**
+ * Create a new Response based on a raw response message
+ *
+ * @param string $message Response message
+ *
+ * @return self|bool Returns false on error
+ */
+ public static function fromMessage($message)
+ {
+ $data = ParserRegistry::getInstance()->getParser('message')->parseResponse($message);
+ if (!$data) {
+ return false;
+ }
+
+ $response = new static($data['code'], $data['headers'], $data['body']);
+ $response->setProtocol($data['protocol'], $data['version'])
+ ->setStatus($data['code'], $data['reason_phrase']);
+
+ // Set the appropriate Content-Length if the one set is inaccurate (e.g. setting to X)
+ $contentLength = (string) $response->getHeader('Content-Length');
+ $actualLength = strlen($data['body']);
+ if (strlen($data['body']) > 0 && $contentLength != $actualLength) {
+ $response->setHeader('Content-Length', $actualLength);
+ }
+
+ return $response;
+ }
+
+ /**
+ * Construct the response
+ *
+ * @param string $statusCode The response status code (e.g. 200, 404, etc)
+ * @param ToArrayInterface|array $headers The response headers
+ * @param string|resource|EntityBodyInterface $body The body of the response
+ *
+ * @throws BadResponseException if an invalid response code is given
+ */
+ public function __construct($statusCode, $headers = null, $body = null)
+ {
+ parent::__construct();
+ $this->setStatus($statusCode);
+ $this->body = EntityBody::factory($body !== null ? $body : '');
+
+ if ($headers) {
+ if (is_array($headers)) {
+ $this->setHeaders($headers);
+ } elseif ($headers instanceof ToArrayInterface) {
+ $this->setHeaders($headers->toArray());
+ } else {
+ throw new BadResponseException('Invalid headers argument received');
+ }
+ }
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString()
+ {
+ return $this->getMessage();
+ }
+
+ public function serialize()
+ {
+ return json_encode(array(
+ 'status' => $this->statusCode,
+ 'body' => (string) $this->body,
+ 'headers' => $this->headers->toArray()
+ ));
+ }
+
+ public function unserialize($serialize)
+ {
+ $data = json_decode($serialize, true);
+ $this->__construct($data['status'], $data['headers'], $data['body']);
+ }
+
+ /**
+ * Get the response entity body
+ *
+ * @param bool $asString Set to TRUE to return a string of the body rather than a full body object
+ *
+ * @return EntityBodyInterface|string
+ */
+ public function getBody($asString = false)
+ {
+ return $asString ? (string) $this->body : $this->body;
+ }
+
+ /**
+ * Set the response entity body
+ *
+ * @param EntityBodyInterface|string $body Body to set
+ *
+ * @return self
+ */
+ public function setBody($body)
+ {
+ $this->body = EntityBody::factory($body);
+
+ return $this;
+ }
+
+ /**
+ * Set the protocol and protocol version of the response
+ *
+ * @param string $protocol Response protocol
+ * @param string $version Protocol version
+ *
+ * @return self
+ */
+ public function setProtocol($protocol, $version)
+ {
+ $this->protocol = $protocol;
+ $this->protocolVersion = $version;
+
+ return $this;
+ }
+
+ /**
+ * Get the protocol used for the response (e.g. HTTP)
+ *
+ * @return string
+ */
+ public function getProtocol()
+ {
+ return $this->protocol;
+ }
+
+ /**
+ * Get the HTTP protocol version
+ *
+ * @return string
+ */
+ public function getProtocolVersion()
+ {
+ return $this->protocolVersion;
+ }
+
+ /**
+ * Get a cURL transfer information
+ *
+ * @param string $key A single statistic to check
+ *
+ * @return array|string|null Returns all stats if no key is set, a single stat if a key is set, or null if a key
+ * is set and not found
+ * @link http://www.php.net/manual/en/function.curl-getinfo.php
+ */
+ public function getInfo($key = null)
+ {
+ if ($key === null) {
+ return $this->info;
+ } elseif (array_key_exists($key, $this->info)) {
+ return $this->info[$key];
+ } else {
+ return null;
+ }
+ }
+
+ /**
+ * Set the transfer information
+ *
+ * @param array $info Array of cURL transfer stats
+ *
+ * @return self
+ */
+ public function setInfo(array $info)
+ {
+ $this->info = $info;
+
+ return $this;
+ }
+
+ /**
+ * Set the response status
+ *
+ * @param int $statusCode Response status code to set
+ * @param string $reasonPhrase Response reason phrase
+ *
+ * @return self
+ * @throws BadResponseException when an invalid response code is received
+ */
+ public function setStatus($statusCode, $reasonPhrase = '')
+ {
+ $this->statusCode = (int) $statusCode;
+
+ if (!$reasonPhrase && isset(self::$statusTexts[$this->statusCode])) {
+ $this->reasonPhrase = self::$statusTexts[$this->statusCode];
+ } else {
+ $this->reasonPhrase = $reasonPhrase;
+ }
+
+ return $this;
+ }
+
+ /**
+ * Get the response status code
+ *
+ * @return integer
+ */
+ public function getStatusCode()
+ {
+ return $this->statusCode;
+ }
+
+ /**
+ * Get the entire response as a string
+ *
+ * @return string
+ */
+ public function getMessage()
+ {
+ $message = $this->getRawHeaders();
+
+ // Only include the body in the message if the size is < 2MB
+ $size = $this->body->getSize();
+ if ($size < 2097152) {
+ $message .= (string) $this->body;
+ }
+
+ return $message;
+ }
+
+ /**
+ * Get the the raw message headers as a string
+ *
+ * @return string
+ */
+ public function getRawHeaders()
+ {
+ $headers = 'HTTP/1.1 ' . $this->statusCode . ' ' . $this->reasonPhrase . "\r\n";
+ $lines = $this->getHeaderLines();
+ if (!empty($lines)) {
+ $headers .= implode("\r\n", $lines) . "\r\n";
+ }
+
+ return $headers . "\r\n";
+ }
+
+ /**
+ * Get the response reason phrase- a human readable version of the numeric
+ * status code
+ *
+ * @return string
+ */
+ public function getReasonPhrase()
+ {
+ return $this->reasonPhrase;
+ }
+
+ /**
+ * Get the Accept-Ranges HTTP header
+ *
+ * @return string Returns what partial content range types this server supports.
+ */
+ public function getAcceptRanges()
+ {
+ return (string) $this->getHeader('Accept-Ranges');
+ }
+
+ /**
+ * Calculate the age of the response
+ *
+ * @return integer
+ */
+ public function calculateAge()
+ {
+ $age = $this->getHeader('Age');
+
+ if ($age === null && $this->getDate()) {
+ $age = time() - strtotime($this->getDate());
+ }
+
+ return $age === null ? null : (int) (string) $age;
+ }
+
+ /**
+ * Get the Age HTTP header
+ *
+ * @return integer|null Returns the age the object has been in a proxy cache in seconds.
+ */
+ public function getAge()
+ {
+ return (string) $this->getHeader('Age');
+ }
+
+ /**
+ * Get the Allow HTTP header
+ *
+ * @return string|null Returns valid actions for a specified resource. To be used for a 405 Method not allowed.
+ */
+ public function getAllow()
+ {
+ return (string) $this->getHeader('Allow');
+ }
+
+ /**
+ * Check if an HTTP method is allowed by checking the Allow response header
+ *
+ * @param string $method Method to check
+ *
+ * @return bool
+ */
+ public function isMethodAllowed($method)
+ {
+ $allow = $this->getHeader('Allow');
+ if ($allow) {
+ foreach (explode(',', $allow) as $allowable) {
+ if (!strcasecmp(trim($allowable), $method)) {
+ return true;
+ }
+ }
+ }
+
+ return false;
+ }
+
+ /**
+ * Get the Cache-Control HTTP header
+ *
+ * @return string
+ */
+ public function getCacheControl()
+ {
+ return (string) $this->getHeader('Cache-Control');
+ }
+
+ /**
+ * Get the Connection HTTP header
+ *
+ * @return string
+ */
+ public function getConnection()
+ {
+ return (string) $this->getHeader('Connection');
+ }
+
+ /**
+ * Get the Content-Encoding HTTP header
+ *
+ * @return string|null
+ */
+ public function getContentEncoding()
+ {
+ return (string) $this->getHeader('Content-Encoding');
+ }
+
+ /**
+ * Get the Content-Language HTTP header
+ *
+ * @return string|null Returns the language the content is in.
+ */
+ public function getContentLanguage()
+ {
+ return (string) $this->getHeader('Content-Language');
+ }
+
+ /**
+ * Get the Content-Length HTTP header
+ *
+ * @return integer Returns the length of the response body in bytes
+ */
+ public function getContentLength()
+ {
+ return (int) (string) $this->getHeader('Content-Length');
+ }
+
+ /**
+ * Get the Content-Location HTTP header
+ *
+ * @return string|null Returns an alternate location for the returned data (e.g /index.htm)
+ */
+ public function getContentLocation()
+ {
+ return (string) $this->getHeader('Content-Location');
+ }
+
+ /**
+ * Get the Content-Disposition HTTP header
+ *
+ * @return string|null Returns the Content-Disposition header
+ */
+ public function getContentDisposition()
+ {
+ return (string) $this->getHeader('Content-Disposition');
+ }
+
+ /**
+ * Get the Content-MD5 HTTP header
+ *
+ * @return string|null Returns a Base64-encoded binary MD5 sum of the content of the response.
+ */
+ public function getContentMd5()
+ {
+ return (string) $this->getHeader('Content-MD5');
+ }
+
+ /**
+ * Get the Content-Range HTTP header
+ *
+ * @return string Returns where in a full body message this partial message belongs (e.g. bytes 21010-47021/47022).
+ */
+ public function getContentRange()
+ {
+ return (string) $this->getHeader('Content-Range');
+ }
+
+ /**
+ * Get the Content-Type HTTP header
+ *
+ * @return string Returns the mime type of this content.
+ */
+ public function getContentType()
+ {
+ return (string) $this->getHeader('Content-Type');
+ }
+
+ /**
+ * Checks if the Content-Type is of a certain type. This is useful if the
+ * Content-Type header contains charset information and you need to know if
+ * the Content-Type matches a particular type.
+ *
+ * @param string $type Content type to check against
+ *
+ * @return bool
+ */
+ public function isContentType($type)
+ {
+ return stripos($this->getHeader('Content-Type'), $type) !== false;
+ }
+
+ /**
+ * Get the Date HTTP header
+ *
+ * @return string|null Returns the date and time that the message was sent.
+ */
+ public function getDate()
+ {
+ return (string) $this->getHeader('Date');
+ }
+
+ /**
+ * Get the ETag HTTP header
+ *
+ * @return string|null Returns an identifier for a specific version of a resource, often a Message digest.
+ */
+ public function getEtag()
+ {
+ return (string) $this->getHeader('ETag');
+ }
+
+ /**
+ * Get the Expires HTTP header
+ *
+ * @return string|null Returns the date/time after which the response is considered stale.
+ */
+ public function getExpires()
+ {
+ return (string) $this->getHeader('Expires');
+ }
+
+ /**
+ * Get the Last-Modified HTTP header
+ *
+ * @return string|null Returns the last modified date for the requested object, in RFC 2822 format
+ * (e.g. Tue, 15 Nov 1994 12:45:26 GMT)
+ */
+ public function getLastModified()
+ {
+ return (string) $this->getHeader('Last-Modified');
+ }
+
+ /**
+ * Get the Location HTTP header
+ *
+ * @return string|null Used in redirection, or when a new resource has been created.
+ */
+ public function getLocation()
+ {
+ return (string) $this->getHeader('Location');
+ }
+
+ /**
+ * Get the Pragma HTTP header
+ *
+ * @return Header|null Returns the implementation-specific headers that may have various effects anywhere along
+ * the request-response chain.
+ */
+ public function getPragma()
+ {
+ return (string) $this->getHeader('Pragma');
+ }
+
+ /**
+ * Get the Proxy-Authenticate HTTP header
+ *
+ * @return string|null Authentication to access the proxy (e.g. Basic)
+ */
+ public function getProxyAuthenticate()
+ {
+ return (string) $this->getHeader('Proxy-Authenticate');
+ }
+
+ /**
+ * Get the Retry-After HTTP header
+ *
+ * @return int|null If an entity is temporarily unavailable, this instructs the client to try again after a
+ * specified period of time.
+ */
+ public function getRetryAfter()
+ {
+ return (string) $this->getHeader('Retry-After');
+ }
+
+ /**
+ * Get the Server HTTP header
+ *
+ * @return string|null A name for the server
+ */
+ public function getServer()
+ {
+ return (string) $this->getHeader('Server');
+ }
+
+ /**
+ * Get the Set-Cookie HTTP header
+ *
+ * @return string|null An HTTP cookie.
+ */
+ public function getSetCookie()
+ {
+ return (string) $this->getHeader('Set-Cookie');
+ }
+
+ /**
+ * Get the Trailer HTTP header
+ *
+ * @return string|null The Trailer general field value indicates that the given set of header fields is present in
+ * the trailer of a message encoded with chunked transfer-coding.
+ */
+ public function getTrailer()
+ {
+ return (string) $this->getHeader('Trailer');
+ }
+
+ /**
+ * Get the Transfer-Encoding HTTP header
+ *
+ * @return string|null The form of encoding used to safely transfer the entity to the user
+ */
+ public function getTransferEncoding()
+ {
+ return (string) $this->getHeader('Transfer-Encoding');
+ }
+
+ /**
+ * Get the Vary HTTP header
+ *
+ * @return string|null Tells downstream proxies how to match future request headers to decide whether the cached
+ * response can be used rather than requesting a fresh one from the origin server.
+ */
+ public function getVary()
+ {
+ return (string) $this->getHeader('Vary');
+ }
+
+ /**
+ * Get the Via HTTP header
+ *
+ * @return string|null Informs the client of proxies through which the response was sent.
+ */
+ public function getVia()
+ {
+ return (string) $this->getHeader('Via');
+ }
+
+ /**
+ * Get the Warning HTTP header
+ *
+ * @return string|null A general warning about possible problems with the entity body
+ */
+ public function getWarning()
+ {
+ return (string) $this->getHeader('Warning');
+ }
+
+ /**
+ * Get the WWW-Authenticate HTTP header
+ *
+ * @return string|null Indicates the authentication scheme that should be used to access the requested entity
+ */
+ public function getWwwAuthenticate()
+ {
+ return (string) $this->getHeader('WWW-Authenticate');
+ }
+
+ /**
+ * Checks if HTTP Status code is a Client Error (4xx)
+ *
+ * @return bool
+ */
+ public function isClientError()
+ {
+ return $this->statusCode >= 400 && $this->statusCode < 500;
+ }
+
+ /**
+ * Checks if HTTP Status code is Server OR Client Error (4xx or 5xx)
+ *
+ * @return boolean
+ */
+ public function isError()
+ {
+ return $this->isClientError() || $this->isServerError();
+ }
+
+ /**
+ * Checks if HTTP Status code is Information (1xx)
+ *
+ * @return bool
+ */
+ public function isInformational()
+ {
+ return $this->statusCode < 200;
+ }
+
+ /**
+ * Checks if HTTP Status code is a Redirect (3xx)
+ *
+ * @return bool
+ */
+ public function isRedirect()
+ {
+ return $this->statusCode >= 300 && $this->statusCode < 400;
+ }
+
+ /**
+ * Checks if HTTP Status code is Server Error (5xx)
+ *
+ * @return bool
+ */
+ public function isServerError()
+ {
+ return $this->statusCode >= 500 && $this->statusCode < 600;
+ }
+
+ /**
+ * Checks if HTTP Status code is Successful (2xx | 304)
+ *
+ * @return bool
+ */
+ public function isSuccessful()
+ {
+ return ($this->statusCode >= 200 && $this->statusCode < 300) || $this->statusCode == 304;
+ }
+
+ /**
+ * Check if the response can be cached based on the response headers
+ *
+ * @return bool Returns TRUE if the response can be cached or false if not
+ */
+ public function canCache()
+ {
+ // Check if the response is cacheable based on the code
+ if (!in_array((int) $this->getStatusCode(), self::$cacheResponseCodes)) {
+ return false;
+ }
+
+ // Make sure a valid body was returned and can be cached
+ if ((!$this->getBody()->isReadable() || !$this->getBody()->isSeekable())
+ && ($this->getContentLength() > 0 || $this->getTransferEncoding() == 'chunked')) {
+ return false;
+ }
+
+ // Never cache no-store resources (this is a private cache, so private
+ // can be cached)
+ if ($this->getHeader('Cache-Control') && $this->getHeader('Cache-Control')->hasDirective('no-store')) {
+ return false;
+ }
+
+ return $this->isFresh() || $this->getFreshness() === null || $this->canValidate();
+ }
+
+ /**
+ * Gets the number of seconds from the current time in which this response is still considered fresh
+ *
+ * @return int|null Returns the number of seconds
+ */
+ public function getMaxAge()
+ {
+ if ($header = $this->getHeader('Cache-Control')) {
+ // s-max-age, then max-age, then Expires
+ if ($age = $header->getDirective('s-maxage')) {
+ return $age;
+ }
+ if ($age = $header->getDirective('max-age')) {
+ return $age;
+ }
+ }
+
+ if ($this->getHeader('Expires')) {
+ return strtotime($this->getExpires()) - time();
+ }
+
+ return null;
+ }
+
+ /**
+ * Check if the response is considered fresh.
+ *
+ * A response is considered fresh when its age is less than or equal to the freshness lifetime (maximum age) of the
+ * response.
+ *
+ * @return bool|null
+ */
+ public function isFresh()
+ {
+ $fresh = $this->getFreshness();
+
+ return $fresh === null ? null : $fresh >= 0;
+ }
+
+ /**
+ * Check if the response can be validated against the origin server using a conditional GET request.
+ *
+ * @return bool
+ */
+ public function canValidate()
+ {
+ return $this->getEtag() || $this->getLastModified();
+ }
+
+ /**
+ * Get the freshness of the response by returning the difference of the maximum lifetime of the response and the
+ * age of the response (max-age - age).
+ *
+ * Freshness values less than 0 mean that the response is no longer fresh and is ABS(freshness) seconds expired.
+ * Freshness values of greater than zero is the number of seconds until the response is no longer fresh. A NULL
+ * result means that no freshness information is available.
+ *
+ * @return int
+ */
+ public function getFreshness()
+ {
+ $maxAge = $this->getMaxAge();
+ $age = $this->calculateAge();
+
+ return $maxAge && $age ? ($maxAge - $age) : null;
+ }
+
+ /**
+ * Parse the JSON response body and return an array
+ *
+ * @return array|string|int|bool|float
+ * @throws RuntimeException if the response body is not in JSON format
+ */
+ public function json()
+ {
+ $data = json_decode((string) $this->body, true);
+ if (JSON_ERROR_NONE !== json_last_error()) {
+ throw new RuntimeException('Unable to parse response body into JSON: ' . json_last_error());
+ }
+
+ return $data === null ? array() : $data;
+ }
+
+ /**
+ * Parse the XML response body and return a SimpleXMLElement
+ *
+ * @return \SimpleXMLElement
+ * @throws RuntimeException if the response body is not in XML format
+ */
+ public function xml()
+ {
+ try {
+ // Allow XML to be retrieved even if there is no response body
+ $xml = new \SimpleXMLElement((string) $this->body ?: ''); + } diff --git a/apps/files_external/3rdparty/google-api-php-client/src/Google_Client.php b/apps/files_external/3rdparty/google-api-php-client/src/Google_Client.php new file mode 100644 index 0000000000000000000000000000000000000000..498d3a8e9dd284267226e541b1fdc30d02aa16d8 --- /dev/null +++ b/apps/files_external/3rdparty/google-api-php-client/src/Google_Client.php @@ -0,0 +1,462 @@ + + * @author Chirag Shah
+ * $driveService = new Google_DriveService(...);
+ * $apps = $driveService->apps;
+ *
+ */
+ class Google_AppsServiceResource extends Google_ServiceResource {
+
+
+ /**
+ * Gets a specific app. (apps.get)
+ *
+ * @param string $appId The ID of the app.
+ * @param array $optParams Optional parameters.
+ * @return Google_App
+ */
+ public function get($appId, $optParams = array()) {
+ $params = array('appId' => $appId);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('get', array($params));
+ if ($this->useObjects()) {
+ return new Google_App($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Lists a user's installed apps. (apps.list)
+ *
+ * @param array $optParams Optional parameters.
+ * @return Google_AppList
+ */
+ public function listApps($optParams = array()) {
+ $params = array();
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('list', array($params));
+ if ($this->useObjects()) {
+ return new Google_AppList($data);
+ } else {
+ return $data;
+ }
+ }
+ }
+
+ /**
+ * The "changes" collection of methods.
+ * Typical usage is:
+ *
+ * $driveService = new Google_DriveService(...);
+ * $changes = $driveService->changes;
+ *
+ */
+ class Google_ChangesServiceResource extends Google_ServiceResource {
+
+
+ /**
+ * Gets a specific change. (changes.get)
+ *
+ * @param string $changeId The ID of the change.
+ * @param array $optParams Optional parameters.
+ * @return Google_Change
+ */
+ public function get($changeId, $optParams = array()) {
+ $params = array('changeId' => $changeId);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('get', array($params));
+ if ($this->useObjects()) {
+ return new Google_Change($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Lists the changes for a user. (changes.list)
+ *
+ * @param array $optParams Optional parameters.
+ *
+ * @opt_param bool includeDeleted Whether to include deleted items.
+ * @opt_param bool includeSubscribed Whether to include shared files and public files the user has opened. When set to false, the list will include owned files plus any shared or public files the user has explictly added to a folder in Drive.
+ * @opt_param int maxResults Maximum number of changes to return.
+ * @opt_param string pageToken Page token for changes.
+ * @opt_param string startChangeId Change ID to start listing changes from.
+ * @return Google_ChangeList
+ */
+ public function listChanges($optParams = array()) {
+ $params = array();
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('list', array($params));
+ if ($this->useObjects()) {
+ return new Google_ChangeList($data);
+ } else {
+ return $data;
+ }
+ }
+ }
+
+ /**
+ * The "children" collection of methods.
+ * Typical usage is:
+ *
+ * $driveService = new Google_DriveService(...);
+ * $children = $driveService->children;
+ *
+ */
+ class Google_ChildrenServiceResource extends Google_ServiceResource {
+
+
+ /**
+ * Removes a child from a folder. (children.delete)
+ *
+ * @param string $folderId The ID of the folder.
+ * @param string $childId The ID of the child.
+ * @param array $optParams Optional parameters.
+ */
+ public function delete($folderId, $childId, $optParams = array()) {
+ $params = array('folderId' => $folderId, 'childId' => $childId);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('delete', array($params));
+ return $data;
+ }
+ /**
+ * Gets a specific child reference. (children.get)
+ *
+ * @param string $folderId The ID of the folder.
+ * @param string $childId The ID of the child.
+ * @param array $optParams Optional parameters.
+ * @return Google_ChildReference
+ */
+ public function get($folderId, $childId, $optParams = array()) {
+ $params = array('folderId' => $folderId, 'childId' => $childId);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('get', array($params));
+ if ($this->useObjects()) {
+ return new Google_ChildReference($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Inserts a file into a folder. (children.insert)
+ *
+ * @param string $folderId The ID of the folder.
+ * @param Google_ChildReference $postBody
+ * @param array $optParams Optional parameters.
+ * @return Google_ChildReference
+ */
+ public function insert($folderId, Google_ChildReference $postBody, $optParams = array()) {
+ $params = array('folderId' => $folderId, 'postBody' => $postBody);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('insert', array($params));
+ if ($this->useObjects()) {
+ return new Google_ChildReference($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Lists a folder's children. (children.list)
+ *
+ * @param string $folderId The ID of the folder.
+ * @param array $optParams Optional parameters.
+ *
+ * @opt_param int maxResults Maximum number of children to return.
+ * @opt_param string pageToken Page token for children.
+ * @opt_param string q Query string for searching children.
+ * @return Google_ChildList
+ */
+ public function listChildren($folderId, $optParams = array()) {
+ $params = array('folderId' => $folderId);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('list', array($params));
+ if ($this->useObjects()) {
+ return new Google_ChildList($data);
+ } else {
+ return $data;
+ }
+ }
+ }
+
+ /**
+ * The "comments" collection of methods.
+ * Typical usage is:
+ *
+ * $driveService = new Google_DriveService(...);
+ * $comments = $driveService->comments;
+ *
+ */
+ class Google_CommentsServiceResource extends Google_ServiceResource {
+
+
+ /**
+ * Deletes a comment. (comments.delete)
+ *
+ * @param string $fileId The ID of the file.
+ * @param string $commentId The ID of the comment.
+ * @param array $optParams Optional parameters.
+ */
+ public function delete($fileId, $commentId, $optParams = array()) {
+ $params = array('fileId' => $fileId, 'commentId' => $commentId);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('delete', array($params));
+ return $data;
+ }
+ /**
+ * Gets a comment by ID. (comments.get)
+ *
+ * @param string $fileId The ID of the file.
+ * @param string $commentId The ID of the comment.
+ * @param array $optParams Optional parameters.
+ *
+ * @opt_param bool includeDeleted If set, this will succeed when retrieving a deleted comment, and will include any deleted replies.
+ * @return Google_Comment
+ */
+ public function get($fileId, $commentId, $optParams = array()) {
+ $params = array('fileId' => $fileId, 'commentId' => $commentId);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('get', array($params));
+ if ($this->useObjects()) {
+ return new Google_Comment($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Creates a new comment on the given file. (comments.insert)
+ *
+ * @param string $fileId The ID of the file.
+ * @param Google_Comment $postBody
+ * @param array $optParams Optional parameters.
+ * @return Google_Comment
+ */
+ public function insert($fileId, Google_Comment $postBody, $optParams = array()) {
+ $params = array('fileId' => $fileId, 'postBody' => $postBody);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('insert', array($params));
+ if ($this->useObjects()) {
+ return new Google_Comment($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Lists a file's comments. (comments.list)
+ *
+ * @param string $fileId The ID of the file.
+ * @param array $optParams Optional parameters.
+ *
+ * @opt_param bool includeDeleted If set, all comments and replies, including deleted comments and replies (with content stripped) will be returned.
+ * @opt_param int maxResults The maximum number of discussions to include in the response, used for paging.
+ * @opt_param string pageToken The continuation token, used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response.
+ * @opt_param string updatedMin Only discussions that were updated after this timestamp will be returned. Formatted as an RFC 3339 timestamp.
+ * @return Google_CommentList
+ */
+ public function listComments($fileId, $optParams = array()) {
+ $params = array('fileId' => $fileId);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('list', array($params));
+ if ($this->useObjects()) {
+ return new Google_CommentList($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Updates an existing comment. This method supports patch semantics. (comments.patch)
+ *
+ * @param string $fileId The ID of the file.
+ * @param string $commentId The ID of the comment.
+ * @param Google_Comment $postBody
+ * @param array $optParams Optional parameters.
+ * @return Google_Comment
+ */
+ public function patch($fileId, $commentId, Google_Comment $postBody, $optParams = array()) {
+ $params = array('fileId' => $fileId, 'commentId' => $commentId, 'postBody' => $postBody);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('patch', array($params));
+ if ($this->useObjects()) {
+ return new Google_Comment($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Updates an existing comment. (comments.update)
+ *
+ * @param string $fileId The ID of the file.
+ * @param string $commentId The ID of the comment.
+ * @param Google_Comment $postBody
+ * @param array $optParams Optional parameters.
+ * @return Google_Comment
+ */
+ public function update($fileId, $commentId, Google_Comment $postBody, $optParams = array()) {
+ $params = array('fileId' => $fileId, 'commentId' => $commentId, 'postBody' => $postBody);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('update', array($params));
+ if ($this->useObjects()) {
+ return new Google_Comment($data);
+ } else {
+ return $data;
+ }
+ }
+ }
+
+ /**
+ * The "files" collection of methods.
+ * Typical usage is:
+ *
+ * $driveService = new Google_DriveService(...);
+ * $files = $driveService->files;
+ *
+ */
+ class Google_FilesServiceResource extends Google_ServiceResource {
+
+
+ /**
+ * Creates a copy of the specified file. (files.copy)
+ *
+ * @param string $fileId The ID of the file to copy.
+ * @param Google_DriveFile $postBody
+ * @param array $optParams Optional parameters.
+ *
+ * @opt_param bool convert Whether to convert this file to the corresponding Google Docs format.
+ * @opt_param bool ocr Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads.
+ * @opt_param string ocrLanguage If ocr is true, hints at the language to use. Valid values are ISO 639-1 codes.
+ * @opt_param bool pinned Whether to pin the head revision of the new copy.
+ * @opt_param string timedTextLanguage The language of the timed text.
+ * @opt_param string timedTextTrackName The timed text track name.
+ * @return Google_DriveFile
+ */
+ public function copy($fileId, Google_DriveFile $postBody, $optParams = array()) {
+ $params = array('fileId' => $fileId, 'postBody' => $postBody);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('copy', array($params));
+ if ($this->useObjects()) {
+ return new Google_DriveFile($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Permanently deletes a file by ID. Skips the trash. (files.delete)
+ *
+ * @param string $fileId The ID of the file to delete.
+ * @param array $optParams Optional parameters.
+ */
+ public function delete($fileId, $optParams = array()) {
+ $params = array('fileId' => $fileId);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('delete', array($params));
+ return $data;
+ }
+ /**
+ * Gets a file's metadata by ID. (files.get)
+ *
+ * @param string $fileId The ID for the file in question.
+ * @param array $optParams Optional parameters.
+ *
+ * @opt_param string projection This parameter is deprecated and has no function.
+ * @opt_param bool updateViewedDate Whether to update the view date after successfully retrieving the file.
+ * @return Google_DriveFile
+ */
+ public function get($fileId, $optParams = array()) {
+ $params = array('fileId' => $fileId);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('get', array($params));
+ if ($this->useObjects()) {
+ return new Google_DriveFile($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Insert a new file. (files.insert)
+ *
+ * @param Google_DriveFile $postBody
+ * @param array $optParams Optional parameters.
+ *
+ * @opt_param bool convert Whether to convert this file to the corresponding Google Docs format.
+ * @opt_param bool ocr Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads.
+ * @opt_param string ocrLanguage If ocr is true, hints at the language to use. Valid values are ISO 639-1 codes.
+ * @opt_param bool pinned Whether to pin the head revision of the uploaded file.
+ * @opt_param string timedTextLanguage The language of the timed text.
+ * @opt_param string timedTextTrackName The timed text track name.
+ * @opt_param bool useContentAsIndexableText Whether to use the content as indexable text.
+ * @return Google_DriveFile
+ */
+ public function insert(Google_DriveFile $postBody, $optParams = array()) {
+ $params = array('postBody' => $postBody);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('insert', array($params));
+ if ($this->useObjects()) {
+ return new Google_DriveFile($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Lists the user's files. (files.list)
+ *
+ * @param array $optParams Optional parameters.
+ *
+ * @opt_param int maxResults Maximum number of files to return.
+ * @opt_param string pageToken Page token for files.
+ * @opt_param string projection This parameter is deprecated and has no function.
+ * @opt_param string q Query string for searching files.
+ * @return Google_FileList
+ */
+ public function listFiles($optParams = array()) {
+ $params = array();
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('list', array($params));
+ if ($this->useObjects()) {
+ return new Google_FileList($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Updates file metadata and/or content. This method supports patch semantics. (files.patch)
+ *
+ * @param string $fileId The ID of the file to update.
+ * @param Google_DriveFile $postBody
+ * @param array $optParams Optional parameters.
+ *
+ * @opt_param bool convert Whether to convert this file to the corresponding Google Docs format.
+ * @opt_param bool newRevision Whether a blob upload should create a new revision. If not set or false, the blob data in the current head revision is replaced. If true, a new blob is created as head revision, and previous revisions are preserved (causing increased use of the user's data storage quota).
+ * @opt_param bool ocr Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads.
+ * @opt_param string ocrLanguage If ocr is true, hints at the language to use. Valid values are ISO 639-1 codes.
+ * @opt_param bool pinned Whether to pin the new revision.
+ * @opt_param bool setModifiedDate Whether to set the modified date with the supplied modified date.
+ * @opt_param string timedTextLanguage The language of the timed text.
+ * @opt_param string timedTextTrackName The timed text track name.
+ * @opt_param bool updateViewedDate Whether to update the view date after successfully updating the file.
+ * @opt_param bool useContentAsIndexableText Whether to use the content as indexable text.
+ * @return Google_DriveFile
+ */
+ public function patch($fileId, Google_DriveFile $postBody, $optParams = array()) {
+ $params = array('fileId' => $fileId, 'postBody' => $postBody);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('patch', array($params));
+ if ($this->useObjects()) {
+ return new Google_DriveFile($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Set the file's updated time to the current server time. (files.touch)
+ *
+ * @param string $fileId The ID of the file to update.
+ * @param array $optParams Optional parameters.
+ * @return Google_DriveFile
+ */
+ public function touch($fileId, $optParams = array()) {
+ $params = array('fileId' => $fileId);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('touch', array($params));
+ if ($this->useObjects()) {
+ return new Google_DriveFile($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Moves a file to the trash. (files.trash)
+ *
+ * @param string $fileId The ID of the file to trash.
+ * @param array $optParams Optional parameters.
+ * @return Google_DriveFile
+ */
+ public function trash($fileId, $optParams = array()) {
+ $params = array('fileId' => $fileId);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('trash', array($params));
+ if ($this->useObjects()) {
+ return new Google_DriveFile($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Restores a file from the trash. (files.untrash)
+ *
+ * @param string $fileId The ID of the file to untrash.
+ * @param array $optParams Optional parameters.
+ * @return Google_DriveFile
+ */
+ public function untrash($fileId, $optParams = array()) {
+ $params = array('fileId' => $fileId);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('untrash', array($params));
+ if ($this->useObjects()) {
+ return new Google_DriveFile($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Updates file metadata and/or content. (files.update)
+ *
+ * @param string $fileId The ID of the file to update.
+ * @param Google_DriveFile $postBody
+ * @param array $optParams Optional parameters.
+ *
+ * @opt_param bool convert Whether to convert this file to the corresponding Google Docs format.
+ * @opt_param bool newRevision Whether a blob upload should create a new revision. If not set or false, the blob data in the current head revision is replaced. If true, a new blob is created as head revision, and previous revisions are preserved (causing increased use of the user's data storage quota).
+ * @opt_param bool ocr Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads.
+ * @opt_param string ocrLanguage If ocr is true, hints at the language to use. Valid values are ISO 639-1 codes.
+ * @opt_param bool pinned Whether to pin the new revision.
+ * @opt_param bool setModifiedDate Whether to set the modified date with the supplied modified date.
+ * @opt_param string timedTextLanguage The language of the timed text.
+ * @opt_param string timedTextTrackName The timed text track name.
+ * @opt_param bool updateViewedDate Whether to update the view date after successfully updating the file.
+ * @opt_param bool useContentAsIndexableText Whether to use the content as indexable text.
+ * @return Google_DriveFile
+ */
+ public function update($fileId, Google_DriveFile $postBody, $optParams = array()) {
+ $params = array('fileId' => $fileId, 'postBody' => $postBody);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('update', array($params));
+ if ($this->useObjects()) {
+ return new Google_DriveFile($data);
+ } else {
+ return $data;
+ }
+ }
+ }
+
+ /**
+ * The "parents" collection of methods.
+ * Typical usage is:
+ *
+ * $driveService = new Google_DriveService(...);
+ * $parents = $driveService->parents;
+ *
+ */
+ class Google_ParentsServiceResource extends Google_ServiceResource {
+
+
+ /**
+ * Removes a parent from a file. (parents.delete)
+ *
+ * @param string $fileId The ID of the file.
+ * @param string $parentId The ID of the parent.
+ * @param array $optParams Optional parameters.
+ */
+ public function delete($fileId, $parentId, $optParams = array()) {
+ $params = array('fileId' => $fileId, 'parentId' => $parentId);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('delete', array($params));
+ return $data;
+ }
+ /**
+ * Gets a specific parent reference. (parents.get)
+ *
+ * @param string $fileId The ID of the file.
+ * @param string $parentId The ID of the parent.
+ * @param array $optParams Optional parameters.
+ * @return Google_ParentReference
+ */
+ public function get($fileId, $parentId, $optParams = array()) {
+ $params = array('fileId' => $fileId, 'parentId' => $parentId);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('get', array($params));
+ if ($this->useObjects()) {
+ return new Google_ParentReference($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Adds a parent folder for a file. (parents.insert)
+ *
+ * @param string $fileId The ID of the file.
+ * @param Google_ParentReference $postBody
+ * @param array $optParams Optional parameters.
+ * @return Google_ParentReference
+ */
+ public function insert($fileId, Google_ParentReference $postBody, $optParams = array()) {
+ $params = array('fileId' => $fileId, 'postBody' => $postBody);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('insert', array($params));
+ if ($this->useObjects()) {
+ return new Google_ParentReference($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Lists a file's parents. (parents.list)
+ *
+ * @param string $fileId The ID of the file.
+ * @param array $optParams Optional parameters.
+ * @return Google_ParentList
+ */
+ public function listParents($fileId, $optParams = array()) {
+ $params = array('fileId' => $fileId);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('list', array($params));
+ if ($this->useObjects()) {
+ return new Google_ParentList($data);
+ } else {
+ return $data;
+ }
+ }
+ }
+
+ /**
+ * The "permissions" collection of methods.
+ * Typical usage is:
+ *
+ * $driveService = new Google_DriveService(...);
+ * $permissions = $driveService->permissions;
+ *
+ */
+ class Google_PermissionsServiceResource extends Google_ServiceResource {
+
+
+ /**
+ * Deletes a permission from a file. (permissions.delete)
+ *
+ * @param string $fileId The ID for the file.
+ * @param string $permissionId The ID for the permission.
+ * @param array $optParams Optional parameters.
+ */
+ public function delete($fileId, $permissionId, $optParams = array()) {
+ $params = array('fileId' => $fileId, 'permissionId' => $permissionId);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('delete', array($params));
+ return $data;
+ }
+ /**
+ * Gets a permission by ID. (permissions.get)
+ *
+ * @param string $fileId The ID for the file.
+ * @param string $permissionId The ID for the permission.
+ * @param array $optParams Optional parameters.
+ * @return Google_Permission
+ */
+ public function get($fileId, $permissionId, $optParams = array()) {
+ $params = array('fileId' => $fileId, 'permissionId' => $permissionId);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('get', array($params));
+ if ($this->useObjects()) {
+ return new Google_Permission($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Inserts a permission for a file. (permissions.insert)
+ *
+ * @param string $fileId The ID for the file.
+ * @param Google_Permission $postBody
+ * @param array $optParams Optional parameters.
+ *
+ * @opt_param string emailMessage A custom message to include in notification emails.
+ * @opt_param bool sendNotificationEmails Whether to send notification emails when sharing to users or groups.
+ * @return Google_Permission
+ */
+ public function insert($fileId, Google_Permission $postBody, $optParams = array()) {
+ $params = array('fileId' => $fileId, 'postBody' => $postBody);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('insert', array($params));
+ if ($this->useObjects()) {
+ return new Google_Permission($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Lists a file's permissions. (permissions.list)
+ *
+ * @param string $fileId The ID for the file.
+ * @param array $optParams Optional parameters.
+ * @return Google_PermissionList
+ */
+ public function listPermissions($fileId, $optParams = array()) {
+ $params = array('fileId' => $fileId);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('list', array($params));
+ if ($this->useObjects()) {
+ return new Google_PermissionList($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Updates a permission. This method supports patch semantics. (permissions.patch)
+ *
+ * @param string $fileId The ID for the file.
+ * @param string $permissionId The ID for the permission.
+ * @param Google_Permission $postBody
+ * @param array $optParams Optional parameters.
+ *
+ * @opt_param bool transferOwnership Whether changing a role to 'owner' should also downgrade the current owners to writers.
+ * @return Google_Permission
+ */
+ public function patch($fileId, $permissionId, Google_Permission $postBody, $optParams = array()) {
+ $params = array('fileId' => $fileId, 'permissionId' => $permissionId, 'postBody' => $postBody);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('patch', array($params));
+ if ($this->useObjects()) {
+ return new Google_Permission($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Updates a permission. (permissions.update)
+ *
+ * @param string $fileId The ID for the file.
+ * @param string $permissionId The ID for the permission.
+ * @param Google_Permission $postBody
+ * @param array $optParams Optional parameters.
+ *
+ * @opt_param bool transferOwnership Whether changing a role to 'owner' should also downgrade the current owners to writers.
+ * @return Google_Permission
+ */
+ public function update($fileId, $permissionId, Google_Permission $postBody, $optParams = array()) {
+ $params = array('fileId' => $fileId, 'permissionId' => $permissionId, 'postBody' => $postBody);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('update', array($params));
+ if ($this->useObjects()) {
+ return new Google_Permission($data);
+ } else {
+ return $data;
+ }
+ }
+ }
+
+ /**
+ * The "properties" collection of methods.
+ * Typical usage is:
+ *
+ * $driveService = new Google_DriveService(...);
+ * $properties = $driveService->properties;
+ *
+ */
+ class Google_PropertiesServiceResource extends Google_ServiceResource {
+
+
+ /**
+ * Deletes a property. (properties.delete)
+ *
+ * @param string $fileId The ID of the file.
+ * @param string $propertyKey The key of the property.
+ * @param array $optParams Optional parameters.
+ *
+ * @opt_param string visibility The visibility of the property.
+ */
+ public function delete($fileId, $propertyKey, $optParams = array()) {
+ $params = array('fileId' => $fileId, 'propertyKey' => $propertyKey);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('delete', array($params));
+ return $data;
+ }
+ /**
+ * Gets a property by its key. (properties.get)
+ *
+ * @param string $fileId The ID of the file.
+ * @param string $propertyKey The key of the property.
+ * @param array $optParams Optional parameters.
+ *
+ * @opt_param string visibility The visibility of the property.
+ * @return Google_Property
+ */
+ public function get($fileId, $propertyKey, $optParams = array()) {
+ $params = array('fileId' => $fileId, 'propertyKey' => $propertyKey);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('get', array($params));
+ if ($this->useObjects()) {
+ return new Google_Property($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Adds a property to a file. (properties.insert)
+ *
+ * @param string $fileId The ID of the file.
+ * @param Google_Property $postBody
+ * @param array $optParams Optional parameters.
+ * @return Google_Property
+ */
+ public function insert($fileId, Google_Property $postBody, $optParams = array()) {
+ $params = array('fileId' => $fileId, 'postBody' => $postBody);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('insert', array($params));
+ if ($this->useObjects()) {
+ return new Google_Property($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Lists a file's properties. (properties.list)
+ *
+ * @param string $fileId The ID of the file.
+ * @param array $optParams Optional parameters.
+ * @return Google_PropertyList
+ */
+ public function listProperties($fileId, $optParams = array()) {
+ $params = array('fileId' => $fileId);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('list', array($params));
+ if ($this->useObjects()) {
+ return new Google_PropertyList($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Updates a property. This method supports patch semantics. (properties.patch)
+ *
+ * @param string $fileId The ID of the file.
+ * @param string $propertyKey The key of the property.
+ * @param Google_Property $postBody
+ * @param array $optParams Optional parameters.
+ *
+ * @opt_param string visibility The visibility of the property.
+ * @return Google_Property
+ */
+ public function patch($fileId, $propertyKey, Google_Property $postBody, $optParams = array()) {
+ $params = array('fileId' => $fileId, 'propertyKey' => $propertyKey, 'postBody' => $postBody);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('patch', array($params));
+ if ($this->useObjects()) {
+ return new Google_Property($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Updates a property. (properties.update)
+ *
+ * @param string $fileId The ID of the file.
+ * @param string $propertyKey The key of the property.
+ * @param Google_Property $postBody
+ * @param array $optParams Optional parameters.
+ *
+ * @opt_param string visibility The visibility of the property.
+ * @return Google_Property
+ */
+ public function update($fileId, $propertyKey, Google_Property $postBody, $optParams = array()) {
+ $params = array('fileId' => $fileId, 'propertyKey' => $propertyKey, 'postBody' => $postBody);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('update', array($params));
+ if ($this->useObjects()) {
+ return new Google_Property($data);
+ } else {
+ return $data;
+ }
+ }
+ }
+
+ /**
+ * The "replies" collection of methods.
+ * Typical usage is:
+ *
+ * $driveService = new Google_DriveService(...);
+ * $replies = $driveService->replies;
+ *
+ */
+ class Google_RepliesServiceResource extends Google_ServiceResource {
+
+
+ /**
+ * Deletes a reply. (replies.delete)
+ *
+ * @param string $fileId The ID of the file.
+ * @param string $commentId The ID of the comment.
+ * @param string $replyId The ID of the reply.
+ * @param array $optParams Optional parameters.
+ */
+ public function delete($fileId, $commentId, $replyId, $optParams = array()) {
+ $params = array('fileId' => $fileId, 'commentId' => $commentId, 'replyId' => $replyId);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('delete', array($params));
+ return $data;
+ }
+ /**
+ * Gets a reply. (replies.get)
+ *
+ * @param string $fileId The ID of the file.
+ * @param string $commentId The ID of the comment.
+ * @param string $replyId The ID of the reply.
+ * @param array $optParams Optional parameters.
+ *
+ * @opt_param bool includeDeleted If set, this will succeed when retrieving a deleted reply.
+ * @return Google_CommentReply
+ */
+ public function get($fileId, $commentId, $replyId, $optParams = array()) {
+ $params = array('fileId' => $fileId, 'commentId' => $commentId, 'replyId' => $replyId);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('get', array($params));
+ if ($this->useObjects()) {
+ return new Google_CommentReply($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Creates a new reply to the given comment. (replies.insert)
+ *
+ * @param string $fileId The ID of the file.
+ * @param string $commentId The ID of the comment.
+ * @param Google_CommentReply $postBody
+ * @param array $optParams Optional parameters.
+ * @return Google_CommentReply
+ */
+ public function insert($fileId, $commentId, Google_CommentReply $postBody, $optParams = array()) {
+ $params = array('fileId' => $fileId, 'commentId' => $commentId, 'postBody' => $postBody);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('insert', array($params));
+ if ($this->useObjects()) {
+ return new Google_CommentReply($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Lists all of the replies to a comment. (replies.list)
+ *
+ * @param string $fileId The ID of the file.
+ * @param string $commentId The ID of the comment.
+ * @param array $optParams Optional parameters.
+ *
+ * @opt_param bool includeDeleted If set, all replies, including deleted replies (with content stripped) will be returned.
+ * @opt_param int maxResults The maximum number of replies to include in the response, used for paging.
+ * @opt_param string pageToken The continuation token, used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response.
+ * @return Google_CommentReplyList
+ */
+ public function listReplies($fileId, $commentId, $optParams = array()) {
+ $params = array('fileId' => $fileId, 'commentId' => $commentId);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('list', array($params));
+ if ($this->useObjects()) {
+ return new Google_CommentReplyList($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Updates an existing reply. This method supports patch semantics. (replies.patch)
+ *
+ * @param string $fileId The ID of the file.
+ * @param string $commentId The ID of the comment.
+ * @param string $replyId The ID of the reply.
+ * @param Google_CommentReply $postBody
+ * @param array $optParams Optional parameters.
+ * @return Google_CommentReply
+ */
+ public function patch($fileId, $commentId, $replyId, Google_CommentReply $postBody, $optParams = array()) {
+ $params = array('fileId' => $fileId, 'commentId' => $commentId, 'replyId' => $replyId, 'postBody' => $postBody);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('patch', array($params));
+ if ($this->useObjects()) {
+ return new Google_CommentReply($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Updates an existing reply. (replies.update)
+ *
+ * @param string $fileId The ID of the file.
+ * @param string $commentId The ID of the comment.
+ * @param string $replyId The ID of the reply.
+ * @param Google_CommentReply $postBody
+ * @param array $optParams Optional parameters.
+ * @return Google_CommentReply
+ */
+ public function update($fileId, $commentId, $replyId, Google_CommentReply $postBody, $optParams = array()) {
+ $params = array('fileId' => $fileId, 'commentId' => $commentId, 'replyId' => $replyId, 'postBody' => $postBody);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('update', array($params));
+ if ($this->useObjects()) {
+ return new Google_CommentReply($data);
+ } else {
+ return $data;
+ }
+ }
+ }
+
+ /**
+ * The "revisions" collection of methods.
+ * Typical usage is:
+ *
+ * $driveService = new Google_DriveService(...);
+ * $revisions = $driveService->revisions;
+ *
+ */
+ class Google_RevisionsServiceResource extends Google_ServiceResource {
+
+
+ /**
+ * Removes a revision. (revisions.delete)
+ *
+ * @param string $fileId The ID of the file.
+ * @param string $revisionId The ID of the revision.
+ * @param array $optParams Optional parameters.
+ */
+ public function delete($fileId, $revisionId, $optParams = array()) {
+ $params = array('fileId' => $fileId, 'revisionId' => $revisionId);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('delete', array($params));
+ return $data;
+ }
+ /**
+ * Gets a specific revision. (revisions.get)
+ *
+ * @param string $fileId The ID of the file.
+ * @param string $revisionId The ID of the revision.
+ * @param array $optParams Optional parameters.
+ * @return Google_Revision
+ */
+ public function get($fileId, $revisionId, $optParams = array()) {
+ $params = array('fileId' => $fileId, 'revisionId' => $revisionId);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('get', array($params));
+ if ($this->useObjects()) {
+ return new Google_Revision($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Lists a file's revisions. (revisions.list)
+ *
+ * @param string $fileId The ID of the file.
+ * @param array $optParams Optional parameters.
+ * @return Google_RevisionList
+ */
+ public function listRevisions($fileId, $optParams = array()) {
+ $params = array('fileId' => $fileId);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('list', array($params));
+ if ($this->useObjects()) {
+ return new Google_RevisionList($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Updates a revision. This method supports patch semantics. (revisions.patch)
+ *
+ * @param string $fileId The ID for the file.
+ * @param string $revisionId The ID for the revision.
+ * @param Google_Revision $postBody
+ * @param array $optParams Optional parameters.
+ * @return Google_Revision
+ */
+ public function patch($fileId, $revisionId, Google_Revision $postBody, $optParams = array()) {
+ $params = array('fileId' => $fileId, 'revisionId' => $revisionId, 'postBody' => $postBody);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('patch', array($params));
+ if ($this->useObjects()) {
+ return new Google_Revision($data);
+ } else {
+ return $data;
+ }
+ }
+ /**
+ * Updates a revision. (revisions.update)
+ *
+ * @param string $fileId The ID for the file.
+ * @param string $revisionId The ID for the revision.
+ * @param Google_Revision $postBody
+ * @param array $optParams Optional parameters.
+ * @return Google_Revision
+ */
+ public function update($fileId, $revisionId, Google_Revision $postBody, $optParams = array()) {
+ $params = array('fileId' => $fileId, 'revisionId' => $revisionId, 'postBody' => $postBody);
+ $params = array_merge($params, $optParams);
+ $data = $this->__call('update', array($params));
+ if ($this->useObjects()) {
+ return new Google_Revision($data);
+ } else {
+ return $data;
+ }
+ }
+ }
+
+/**
+ * Service definition for Google_Drive (v2).
+ *
+ * + * The API to interact with Drive. + * + * + *+ * For more information about this service, see the + * API Documentation + * + * + * @author Google, Inc. + */ +class Google_DriveService extends Google_Service { + public $about; + public $apps; + public $changes; + public $children; + public $comments; + public $files; + public $parents; + public $permissions; + public $properties; + public $replies; + public $revisions; + /** + * Constructs the internal representation of the Drive service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'drive/v2/'; + $this->version = 'v2'; + $this->serviceName = 'drive'; + + $client->addService($this->serviceName, $this->version); + $this->about = new Google_AboutServiceResource($this, $this->serviceName, 'about', json_decode('{"methods": {"get": {"id": "drive.about.get", "path": "about", "httpMethod": "GET", "parameters": {"includeSubscribed": {"type": "boolean", "default": "true", "location": "query"}, "maxChangeIdCount": {"type": "string", "default": "1", "format": "int64", "location": "query"}, "startChangeId": {"type": "string", "format": "int64", "location": "query"}}, "response": {"$ref": "About"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"]}}}', true)); + $this->apps = new Google_AppsServiceResource($this, $this->serviceName, 'apps', json_decode('{"methods": {"get": {"id": "drive.apps.get", "path": "apps/{appId}", "httpMethod": "GET", "parameters": {"appId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "App"}, "scopes": ["https://www.googleapis.com/auth/drive.apps.readonly"]}, "list": {"id": "drive.apps.list", "path": "apps", "httpMethod": "GET", "response": {"$ref": "AppList"}, "scopes": ["https://www.googleapis.com/auth/drive.apps.readonly"]}}}', true)); + $this->changes = new Google_ChangesServiceResource($this, $this->serviceName, 'changes', json_decode('{"methods": {"get": {"id": "drive.changes.get", "path": "changes/{changeId}", "httpMethod": "GET", "parameters": {"changeId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Change"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"]}, "list": {"id": "drive.changes.list", "path": "changes", "httpMethod": "GET", "parameters": {"includeDeleted": {"type": "boolean", "default": "true", "location": "query"}, "includeSubscribed": {"type": "boolean", "default": "true", "location": "query"}, "maxResults": {"type": "integer", "default": "100", "format": "int32", "minimum": "0", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "startChangeId": {"type": "string", "format": "int64", "location": "query"}}, "response": {"$ref": "ChangeList"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"], "supportsSubscription": true}}}', true)); + $this->children = new Google_ChildrenServiceResource($this, $this->serviceName, 'children', json_decode('{"methods": {"delete": {"id": "drive.children.delete", "path": "files/{folderId}/children/{childId}", "httpMethod": "DELETE", "parameters": {"childId": {"type": "string", "required": true, "location": "path"}, "folderId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "get": {"id": "drive.children.get", "path": "files/{folderId}/children/{childId}", "httpMethod": "GET", "parameters": {"childId": {"type": "string", "required": true, "location": "path"}, "folderId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "ChildReference"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"]}, "insert": {"id": "drive.children.insert", "path": "files/{folderId}/children", "httpMethod": "POST", "parameters": {"folderId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "ChildReference"}, "response": {"$ref": "ChildReference"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "list": {"id": "drive.children.list", "path": "files/{folderId}/children", "httpMethod": "GET", "parameters": {"folderId": {"type": "string", "required": true, "location": "path"}, "maxResults": {"type": "integer", "default": "100", "format": "int32", "minimum": "0", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "q": {"type": "string", "location": "query"}}, "response": {"$ref": "ChildList"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"]}}}', true)); + $this->comments = new Google_CommentsServiceResource($this, $this->serviceName, 'comments', json_decode('{"methods": {"delete": {"id": "drive.comments.delete", "path": "files/{fileId}/comments/{commentId}", "httpMethod": "DELETE", "parameters": {"commentId": {"type": "string", "required": true, "location": "path"}, "fileId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.readonly"]}, "get": {"id": "drive.comments.get", "path": "files/{fileId}/comments/{commentId}", "httpMethod": "GET", "parameters": {"commentId": {"type": "string", "required": true, "location": "path"}, "fileId": {"type": "string", "required": true, "location": "path"}, "includeDeleted": {"type": "boolean", "default": "false", "location": "query"}}, "response": {"$ref": "Comment"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.readonly"]}, "insert": {"id": "drive.comments.insert", "path": "files/{fileId}/comments", "httpMethod": "POST", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Comment"}, "response": {"$ref": "Comment"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.readonly"]}, "list": {"id": "drive.comments.list", "path": "files/{fileId}/comments", "httpMethod": "GET", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "includeDeleted": {"type": "boolean", "default": "false", "location": "query"}, "maxResults": {"type": "integer", "default": "20", "format": "int32", "minimum": "0", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "updatedMin": {"type": "string", "location": "query"}}, "response": {"$ref": "CommentList"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.readonly"]}, "patch": {"id": "drive.comments.patch", "path": "files/{fileId}/comments/{commentId}", "httpMethod": "PATCH", "parameters": {"commentId": {"type": "string", "required": true, "location": "path"}, "fileId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Comment"}, "response": {"$ref": "Comment"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "update": {"id": "drive.comments.update", "path": "files/{fileId}/comments/{commentId}", "httpMethod": "PUT", "parameters": {"commentId": {"type": "string", "required": true, "location": "path"}, "fileId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Comment"}, "response": {"$ref": "Comment"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}}}', true)); + $this->files = new Google_FilesServiceResource($this, $this->serviceName, 'files', json_decode('{"methods": {"copy": {"id": "drive.files.copy", "path": "files/{fileId}/copy", "httpMethod": "POST", "parameters": {"convert": {"type": "boolean", "default": "false", "location": "query"}, "fileId": {"type": "string", "required": true, "location": "path"}, "ocr": {"type": "boolean", "default": "false", "location": "query"}, "ocrLanguage": {"type": "string", "location": "query"}, "pinned": {"type": "boolean", "default": "false", "location": "query"}, "timedTextLanguage": {"type": "string", "location": "query"}, "timedTextTrackName": {"type": "string", "location": "query"}}, "request": {"$ref": "File"}, "response": {"$ref": "File"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "delete": {"id": "drive.files.delete", "path": "files/{fileId}", "httpMethod": "DELETE", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "get": {"id": "drive.files.get", "path": "files/{fileId}", "httpMethod": "GET", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "projection": {"type": "string", "enum": ["BASIC", "FULL"], "location": "query"}, "updateViewedDate": {"type": "boolean", "default": "false", "location": "query"}}, "response": {"$ref": "File"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"], "supportsSubscription": true}, "insert": {"id": "drive.files.insert", "path": "files", "httpMethod": "POST", "parameters": {"convert": {"type": "boolean", "default": "false", "location": "query"}, "ocr": {"type": "boolean", "default": "false", "location": "query"}, "ocrLanguage": {"type": "string", "location": "query"}, "pinned": {"type": "boolean", "default": "false", "location": "query"}, "timedTextLanguage": {"type": "string", "location": "query"}, "timedTextTrackName": {"type": "string", "location": "query"}, "useContentAsIndexableText": {"type": "boolean", "default": "false", "location": "query"}}, "request": {"$ref": "File"}, "response": {"$ref": "File"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"], "supportsMediaUpload": true, "mediaUpload": {"accept": ["*/*"], "maxSize": "10GB", "protocols": {"simple": {"multipart": true, "path": "/upload/drive/v2/files"}, "resumable": {"multipart": true, "path": "/resumable/upload/drive/v2/files"}}}, "supportsSubscription": true}, "list": {"id": "drive.files.list", "path": "files", "httpMethod": "GET", "parameters": {"maxResults": {"type": "integer", "default": "100", "format": "int32", "minimum": "0", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "projection": {"type": "string", "enum": ["BASIC", "FULL"], "location": "query"}, "q": {"type": "string", "location": "query"}}, "response": {"$ref": "FileList"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"]}, "patch": {"id": "drive.files.patch", "path": "files/{fileId}", "httpMethod": "PATCH", "parameters": {"convert": {"type": "boolean", "default": "false", "location": "query"}, "fileId": {"type": "string", "required": true, "location": "path"}, "newRevision": {"type": "boolean", "default": "true", "location": "query"}, "ocr": {"type": "boolean", "default": "false", "location": "query"}, "ocrLanguage": {"type": "string", "location": "query"}, "pinned": {"type": "boolean", "default": "false", "location": "query"}, "setModifiedDate": {"type": "boolean", "default": "false", "location": "query"}, "timedTextLanguage": {"type": "string", "location": "query"}, "timedTextTrackName": {"type": "string", "location": "query"}, "updateViewedDate": {"type": "boolean", "default": "true", "location": "query"}, "useContentAsIndexableText": {"type": "boolean", "default": "false", "location": "query"}}, "request": {"$ref": "File"}, "response": {"$ref": "File"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.scripts"]}, "touch": {"id": "drive.files.touch", "path": "files/{fileId}/touch", "httpMethod": "POST", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "File"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "trash": {"id": "drive.files.trash", "path": "files/{fileId}/trash", "httpMethod": "POST", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "File"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "untrash": {"id": "drive.files.untrash", "path": "files/{fileId}/untrash", "httpMethod": "POST", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "File"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "update": {"id": "drive.files.update", "path": "files/{fileId}", "httpMethod": "PUT", "parameters": {"convert": {"type": "boolean", "default": "false", "location": "query"}, "fileId": {"type": "string", "required": true, "location": "path"}, "newRevision": {"type": "boolean", "default": "true", "location": "query"}, "ocr": {"type": "boolean", "default": "false", "location": "query"}, "ocrLanguage": {"type": "string", "location": "query"}, "pinned": {"type": "boolean", "default": "false", "location": "query"}, "setModifiedDate": {"type": "boolean", "default": "false", "location": "query"}, "timedTextLanguage": {"type": "string", "location": "query"}, "timedTextTrackName": {"type": "string", "location": "query"}, "updateViewedDate": {"type": "boolean", "default": "true", "location": "query"}, "useContentAsIndexableText": {"type": "boolean", "default": "false", "location": "query"}}, "request": {"$ref": "File"}, "response": {"$ref": "File"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.scripts"], "supportsMediaUpload": true, "mediaUpload": {"accept": ["*/*"], "maxSize": "10GB", "protocols": {"simple": {"multipart": true, "path": "/upload/drive/v2/files/{fileId}"}, "resumable": {"multipart": true, "path": "/resumable/upload/drive/v2/files/{fileId}"}}}}}}', true)); + $this->parents = new Google_ParentsServiceResource($this, $this->serviceName, 'parents', json_decode('{"methods": {"delete": {"id": "drive.parents.delete", "path": "files/{fileId}/parents/{parentId}", "httpMethod": "DELETE", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "parentId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "get": {"id": "drive.parents.get", "path": "files/{fileId}/parents/{parentId}", "httpMethod": "GET", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "parentId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "ParentReference"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"]}, "insert": {"id": "drive.parents.insert", "path": "files/{fileId}/parents", "httpMethod": "POST", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "ParentReference"}, "response": {"$ref": "ParentReference"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "list": {"id": "drive.parents.list", "path": "files/{fileId}/parents", "httpMethod": "GET", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "ParentList"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"]}}}', true)); + $this->permissions = new Google_PermissionsServiceResource($this, $this->serviceName, 'permissions', json_decode('{"methods": {"delete": {"id": "drive.permissions.delete", "path": "files/{fileId}/permissions/{permissionId}", "httpMethod": "DELETE", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "permissionId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "get": {"id": "drive.permissions.get", "path": "files/{fileId}/permissions/{permissionId}", "httpMethod": "GET", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "permissionId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Permission"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"]}, "insert": {"id": "drive.permissions.insert", "path": "files/{fileId}/permissions", "httpMethod": "POST", "parameters": {"emailMessage": {"type": "string", "location": "query"}, "fileId": {"type": "string", "required": true, "location": "path"}, "sendNotificationEmails": {"type": "boolean", "default": "true", "location": "query"}}, "request": {"$ref": "Permission"}, "response": {"$ref": "Permission"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "list": {"id": "drive.permissions.list", "path": "files/{fileId}/permissions", "httpMethod": "GET", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "PermissionList"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"]}, "patch": {"id": "drive.permissions.patch", "path": "files/{fileId}/permissions/{permissionId}", "httpMethod": "PATCH", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "permissionId": {"type": "string", "required": true, "location": "path"}, "transferOwnership": {"type": "boolean", "default": "false", "location": "query"}}, "request": {"$ref": "Permission"}, "response": {"$ref": "Permission"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "update": {"id": "drive.permissions.update", "path": "files/{fileId}/permissions/{permissionId}", "httpMethod": "PUT", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "permissionId": {"type": "string", "required": true, "location": "path"}, "transferOwnership": {"type": "boolean", "default": "false", "location": "query"}}, "request": {"$ref": "Permission"}, "response": {"$ref": "Permission"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}}}', true)); + $this->properties = new Google_PropertiesServiceResource($this, $this->serviceName, 'properties', json_decode('{"methods": {"delete": {"id": "drive.properties.delete", "path": "files/{fileId}/properties/{propertyKey}", "httpMethod": "DELETE", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "propertyKey": {"type": "string", "required": true, "location": "path"}, "visibility": {"type": "string", "default": "private", "location": "query"}}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "get": {"id": "drive.properties.get", "path": "files/{fileId}/properties/{propertyKey}", "httpMethod": "GET", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "propertyKey": {"type": "string", "required": true, "location": "path"}, "visibility": {"type": "string", "default": "private", "location": "query"}}, "response": {"$ref": "Property"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"]}, "insert": {"id": "drive.properties.insert", "path": "files/{fileId}/properties", "httpMethod": "POST", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Property"}, "response": {"$ref": "Property"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "list": {"id": "drive.properties.list", "path": "files/{fileId}/properties", "httpMethod": "GET", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "PropertyList"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"]}, "patch": {"id": "drive.properties.patch", "path": "files/{fileId}/properties/{propertyKey}", "httpMethod": "PATCH", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "propertyKey": {"type": "string", "required": true, "location": "path"}, "visibility": {"type": "string", "default": "private", "location": "query"}}, "request": {"$ref": "Property"}, "response": {"$ref": "Property"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "update": {"id": "drive.properties.update", "path": "files/{fileId}/properties/{propertyKey}", "httpMethod": "PUT", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "propertyKey": {"type": "string", "required": true, "location": "path"}, "visibility": {"type": "string", "default": "private", "location": "query"}}, "request": {"$ref": "Property"}, "response": {"$ref": "Property"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}}}', true)); + $this->replies = new Google_RepliesServiceResource($this, $this->serviceName, 'replies', json_decode('{"methods": {"delete": {"id": "drive.replies.delete", "path": "files/{fileId}/comments/{commentId}/replies/{replyId}", "httpMethod": "DELETE", "parameters": {"commentId": {"type": "string", "required": true, "location": "path"}, "fileId": {"type": "string", "required": true, "location": "path"}, "replyId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "get": {"id": "drive.replies.get", "path": "files/{fileId}/comments/{commentId}/replies/{replyId}", "httpMethod": "GET", "parameters": {"commentId": {"type": "string", "required": true, "location": "path"}, "fileId": {"type": "string", "required": true, "location": "path"}, "includeDeleted": {"type": "boolean", "default": "false", "location": "query"}, "replyId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "CommentReply"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.readonly"]}, "insert": {"id": "drive.replies.insert", "path": "files/{fileId}/comments/{commentId}/replies", "httpMethod": "POST", "parameters": {"commentId": {"type": "string", "required": true, "location": "path"}, "fileId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "CommentReply"}, "response": {"$ref": "CommentReply"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "list": {"id": "drive.replies.list", "path": "files/{fileId}/comments/{commentId}/replies", "httpMethod": "GET", "parameters": {"commentId": {"type": "string", "required": true, "location": "path"}, "fileId": {"type": "string", "required": true, "location": "path"}, "includeDeleted": {"type": "boolean", "default": "false", "location": "query"}, "maxResults": {"type": "integer", "default": "20", "format": "int32", "minimum": "0", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}}, "response": {"$ref": "CommentReplyList"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.readonly"]}, "patch": {"id": "drive.replies.patch", "path": "files/{fileId}/comments/{commentId}/replies/{replyId}", "httpMethod": "PATCH", "parameters": {"commentId": {"type": "string", "required": true, "location": "path"}, "fileId": {"type": "string", "required": true, "location": "path"}, "replyId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "CommentReply"}, "response": {"$ref": "CommentReply"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "update": {"id": "drive.replies.update", "path": "files/{fileId}/comments/{commentId}/replies/{replyId}", "httpMethod": "PUT", "parameters": {"commentId": {"type": "string", "required": true, "location": "path"}, "fileId": {"type": "string", "required": true, "location": "path"}, "replyId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "CommentReply"}, "response": {"$ref": "CommentReply"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}}}', true)); + $this->revisions = new Google_RevisionsServiceResource($this, $this->serviceName, 'revisions', json_decode('{"methods": {"delete": {"id": "drive.revisions.delete", "path": "files/{fileId}/revisions/{revisionId}", "httpMethod": "DELETE", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "revisionId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "get": {"id": "drive.revisions.get", "path": "files/{fileId}/revisions/{revisionId}", "httpMethod": "GET", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "revisionId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Revision"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"]}, "list": {"id": "drive.revisions.list", "path": "files/{fileId}/revisions", "httpMethod": "GET", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "RevisionList"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"]}, "patch": {"id": "drive.revisions.patch", "path": "files/{fileId}/revisions/{revisionId}", "httpMethod": "PATCH", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "revisionId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Revision"}, "response": {"$ref": "Revision"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "update": {"id": "drive.revisions.update", "path": "files/{fileId}/revisions/{revisionId}", "httpMethod": "PUT", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "revisionId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Revision"}, "response": {"$ref": "Revision"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}}}', true)); + + } +} + + + +class Google_About extends Google_Model { + protected $__additionalRoleInfoType = 'Google_AboutAdditionalRoleInfo'; + protected $__additionalRoleInfoDataType = 'array'; + public $additionalRoleInfo; + public $domainSharingPolicy; + public $etag; + protected $__exportFormatsType = 'Google_AboutExportFormats'; + protected $__exportFormatsDataType = 'array'; + public $exportFormats; + protected $__featuresType = 'Google_AboutFeatures'; + protected $__featuresDataType = 'array'; + public $features; + protected $__importFormatsType = 'Google_AboutImportFormats'; + protected $__importFormatsDataType = 'array'; + public $importFormats; + public $isCurrentAppInstalled; + public $kind; + public $largestChangeId; + protected $__maxUploadSizesType = 'Google_AboutMaxUploadSizes'; + protected $__maxUploadSizesDataType = 'array'; + public $maxUploadSizes; + public $name; + public $permissionId; + public $quotaBytesTotal; + public $quotaBytesUsed; + public $quotaBytesUsedAggregate; + public $quotaBytesUsedInTrash; + public $remainingChangeIds; + public $rootFolderId; + public $selfLink; + protected $__userType = 'Google_User'; + protected $__userDataType = ''; + public $user; + public function setAdditionalRoleInfo(/* array(Google_AboutAdditionalRoleInfo) */ $additionalRoleInfo) { + $this->assertIsArray($additionalRoleInfo, 'Google_AboutAdditionalRoleInfo', __METHOD__); + $this->additionalRoleInfo = $additionalRoleInfo; + } + public function getAdditionalRoleInfo() { + return $this->additionalRoleInfo; + } + public function setDomainSharingPolicy($domainSharingPolicy) { + $this->domainSharingPolicy = $domainSharingPolicy; + } + public function getDomainSharingPolicy() { + return $this->domainSharingPolicy; + } + public function setEtag($etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setExportFormats(/* array(Google_AboutExportFormats) */ $exportFormats) { + $this->assertIsArray($exportFormats, 'Google_AboutExportFormats', __METHOD__); + $this->exportFormats = $exportFormats; + } + public function getExportFormats() { + return $this->exportFormats; + } + public function setFeatures(/* array(Google_AboutFeatures) */ $features) { + $this->assertIsArray($features, 'Google_AboutFeatures', __METHOD__); + $this->features = $features; + } + public function getFeatures() { + return $this->features; + } + public function setImportFormats(/* array(Google_AboutImportFormats) */ $importFormats) { + $this->assertIsArray($importFormats, 'Google_AboutImportFormats', __METHOD__); + $this->importFormats = $importFormats; + } + public function getImportFormats() { + return $this->importFormats; + } + public function setIsCurrentAppInstalled($isCurrentAppInstalled) { + $this->isCurrentAppInstalled = $isCurrentAppInstalled; + } + public function getIsCurrentAppInstalled() { + return $this->isCurrentAppInstalled; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLargestChangeId($largestChangeId) { + $this->largestChangeId = $largestChangeId; + } + public function getLargestChangeId() { + return $this->largestChangeId; + } + public function setMaxUploadSizes(/* array(Google_AboutMaxUploadSizes) */ $maxUploadSizes) { + $this->assertIsArray($maxUploadSizes, 'Google_AboutMaxUploadSizes', __METHOD__); + $this->maxUploadSizes = $maxUploadSizes; + } + public function getMaxUploadSizes() { + return $this->maxUploadSizes; + } + public function setName($name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setPermissionId($permissionId) { + $this->permissionId = $permissionId; + } + public function getPermissionId() { + return $this->permissionId; + } + public function setQuotaBytesTotal($quotaBytesTotal) { + $this->quotaBytesTotal = $quotaBytesTotal; + } + public function getQuotaBytesTotal() { + return $this->quotaBytesTotal; + } + public function setQuotaBytesUsed($quotaBytesUsed) { + $this->quotaBytesUsed = $quotaBytesUsed; + } + public function getQuotaBytesUsed() { + return $this->quotaBytesUsed; + } + public function setQuotaBytesUsedAggregate($quotaBytesUsedAggregate) { + $this->quotaBytesUsedAggregate = $quotaBytesUsedAggregate; + } + public function getQuotaBytesUsedAggregate() { + return $this->quotaBytesUsedAggregate; + } + public function setQuotaBytesUsedInTrash($quotaBytesUsedInTrash) { + $this->quotaBytesUsedInTrash = $quotaBytesUsedInTrash; + } + public function getQuotaBytesUsedInTrash() { + return $this->quotaBytesUsedInTrash; + } + public function setRemainingChangeIds($remainingChangeIds) { + $this->remainingChangeIds = $remainingChangeIds; + } + public function getRemainingChangeIds() { + return $this->remainingChangeIds; + } + public function setRootFolderId($rootFolderId) { + $this->rootFolderId = $rootFolderId; + } + public function getRootFolderId() { + return $this->rootFolderId; + } + public function setSelfLink($selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setUser(Google_User $user) { + $this->user = $user; + } + public function getUser() { + return $this->user; + } +} + +class Google_AboutAdditionalRoleInfo extends Google_Model { + protected $__roleSetsType = 'Google_AboutAdditionalRoleInfoRoleSets'; + protected $__roleSetsDataType = 'array'; + public $roleSets; + public $type; + public function setRoleSets(/* array(Google_AboutAdditionalRoleInfoRoleSets) */ $roleSets) { + $this->assertIsArray($roleSets, 'Google_AboutAdditionalRoleInfoRoleSets', __METHOD__); + $this->roleSets = $roleSets; + } + public function getRoleSets() { + return $this->roleSets; + } + public function setType($type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_AboutAdditionalRoleInfoRoleSets extends Google_Model { + public $additionalRoles; + public $primaryRole; + public function setAdditionalRoles(/* array(Google_string) */ $additionalRoles) { + $this->assertIsArray($additionalRoles, 'Google_string', __METHOD__); + $this->additionalRoles = $additionalRoles; + } + public function getAdditionalRoles() { + return $this->additionalRoles; + } + public function setPrimaryRole($primaryRole) { + $this->primaryRole = $primaryRole; + } + public function getPrimaryRole() { + return $this->primaryRole; + } +} + +class Google_AboutExportFormats extends Google_Model { + public $source; + public $targets; + public function setSource($source) { + $this->source = $source; + } + public function getSource() { + return $this->source; + } + public function setTargets(/* array(Google_string) */ $targets) { + $this->assertIsArray($targets, 'Google_string', __METHOD__); + $this->targets = $targets; + } + public function getTargets() { + return $this->targets; + } +} + +class Google_AboutFeatures extends Google_Model { + public $featureName; + public $featureRate; + public function setFeatureName($featureName) { + $this->featureName = $featureName; + } + public function getFeatureName() { + return $this->featureName; + } + public function setFeatureRate($featureRate) { + $this->featureRate = $featureRate; + } + public function getFeatureRate() { + return $this->featureRate; + } +} + +class Google_AboutImportFormats extends Google_Model { + public $source; + public $targets; + public function setSource($source) { + $this->source = $source; + } + public function getSource() { + return $this->source; + } + public function setTargets(/* array(Google_string) */ $targets) { + $this->assertIsArray($targets, 'Google_string', __METHOD__); + $this->targets = $targets; + } + public function getTargets() { + return $this->targets; + } +} + +class Google_AboutMaxUploadSizes extends Google_Model { + public $size; + public $type; + public function setSize($size) { + $this->size = $size; + } + public function getSize() { + return $this->size; + } + public function setType($type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_App extends Google_Model { + public $authorized; + protected $__iconsType = 'Google_AppIcons'; + protected $__iconsDataType = 'array'; + public $icons; + public $id; + public $installed; + public $kind; + public $name; + public $objectType; + public $primaryFileExtensions; + public $primaryMimeTypes; + public $productUrl; + public $secondaryFileExtensions; + public $secondaryMimeTypes; + public $supportsCreate; + public $supportsImport; + public $useByDefault; + public function setAuthorized($authorized) { + $this->authorized = $authorized; + } + public function getAuthorized() { + return $this->authorized; + } + public function setIcons(/* array(Google_AppIcons) */ $icons) { + $this->assertIsArray($icons, 'Google_AppIcons', __METHOD__); + $this->icons = $icons; + } + public function getIcons() { + return $this->icons; + } + public function setId($id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setInstalled($installed) { + $this->installed = $installed; + } + public function getInstalled() { + return $this->installed; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName($name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setObjectType($objectType) { + $this->objectType = $objectType; + } + public function getObjectType() { + return $this->objectType; + } + public function setPrimaryFileExtensions(/* array(Google_string) */ $primaryFileExtensions) { + $this->assertIsArray($primaryFileExtensions, 'Google_string', __METHOD__); + $this->primaryFileExtensions = $primaryFileExtensions; + } + public function getPrimaryFileExtensions() { + return $this->primaryFileExtensions; + } + public function setPrimaryMimeTypes(/* array(Google_string) */ $primaryMimeTypes) { + $this->assertIsArray($primaryMimeTypes, 'Google_string', __METHOD__); + $this->primaryMimeTypes = $primaryMimeTypes; + } + public function getPrimaryMimeTypes() { + return $this->primaryMimeTypes; + } + public function setProductUrl($productUrl) { + $this->productUrl = $productUrl; + } + public function getProductUrl() { + return $this->productUrl; + } + public function setSecondaryFileExtensions(/* array(Google_string) */ $secondaryFileExtensions) { + $this->assertIsArray($secondaryFileExtensions, 'Google_string', __METHOD__); + $this->secondaryFileExtensions = $secondaryFileExtensions; + } + public function getSecondaryFileExtensions() { + return $this->secondaryFileExtensions; + } + public function setSecondaryMimeTypes(/* array(Google_string) */ $secondaryMimeTypes) { + $this->assertIsArray($secondaryMimeTypes, 'Google_string', __METHOD__); + $this->secondaryMimeTypes = $secondaryMimeTypes; + } + public function getSecondaryMimeTypes() { + return $this->secondaryMimeTypes; + } + public function setSupportsCreate($supportsCreate) { + $this->supportsCreate = $supportsCreate; + } + public function getSupportsCreate() { + return $this->supportsCreate; + } + public function setSupportsImport($supportsImport) { + $this->supportsImport = $supportsImport; + } + public function getSupportsImport() { + return $this->supportsImport; + } + public function setUseByDefault($useByDefault) { + $this->useByDefault = $useByDefault; + } + public function getUseByDefault() { + return $this->useByDefault; + } +} + +class Google_AppIcons extends Google_Model { + public $category; + public $iconUrl; + public $size; + public function setCategory($category) { + $this->category = $category; + } + public function getCategory() { + return $this->category; + } + public function setIconUrl($iconUrl) { + $this->iconUrl = $iconUrl; + } + public function getIconUrl() { + return $this->iconUrl; + } + public function setSize($size) { + $this->size = $size; + } + public function getSize() { + return $this->size; + } +} + +class Google_AppList extends Google_Model { + public $etag; + protected $__itemsType = 'Google_App'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $selfLink; + public function setEtag($etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_App) */ $items) { + $this->assertIsArray($items, 'Google_App', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setSelfLink($selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_Change extends Google_Model { + public $deleted; + protected $__fileType = 'Google_DriveFile'; + protected $__fileDataType = ''; + public $file; + public $fileId; + public $id; + public $kind; + public $selfLink; + public function setDeleted($deleted) { + $this->deleted = $deleted; + } + public function getDeleted() { + return $this->deleted; + } + public function setFile(Google_DriveFile $file) { + $this->file = $file; + } + public function getFile() { + return $this->file; + } + public function setFileId($fileId) { + $this->fileId = $fileId; + } + public function getFileId() { + return $this->fileId; + } + public function setId($id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setSelfLink($selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_ChangeList extends Google_Model { + public $etag; + protected $__itemsType = 'Google_Change'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $largestChangeId; + public $nextLink; + public $nextPageToken; + public $selfLink; + public function setEtag($etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_Change) */ $items) { + $this->assertIsArray($items, 'Google_Change', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLargestChangeId($largestChangeId) { + $this->largestChangeId = $largestChangeId; + } + public function getLargestChangeId() { + return $this->largestChangeId; + } + public function setNextLink($nextLink) { + $this->nextLink = $nextLink; + } + public function getNextLink() { + return $this->nextLink; + } + public function setNextPageToken($nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_ChildList extends Google_Model { + public $etag; + protected $__itemsType = 'Google_ChildReference'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextLink; + public $nextPageToken; + public $selfLink; + public function setEtag($etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_ChildReference) */ $items) { + $this->assertIsArray($items, 'Google_ChildReference', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextLink($nextLink) { + $this->nextLink = $nextLink; + } + public function getNextLink() { + return $this->nextLink; + } + public function setNextPageToken($nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_ChildReference extends Google_Model { + public $childLink; + public $id; + public $kind; + public $selfLink; + public function setChildLink($childLink) { + $this->childLink = $childLink; + } + public function getChildLink() { + return $this->childLink; + } + public function setId($id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setSelfLink($selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_Comment extends Google_Model { + public $anchor; + protected $__authorType = 'Google_User'; + protected $__authorDataType = ''; + public $author; + public $commentId; + public $content; + protected $__contextType = 'Google_CommentContext'; + protected $__contextDataType = ''; + public $context; + public $createdDate; + public $deleted; + public $fileId; + public $fileTitle; + public $htmlContent; + public $kind; + public $modifiedDate; + protected $__repliesType = 'Google_CommentReply'; + protected $__repliesDataType = 'array'; + public $replies; + public $selfLink; + public $status; + public function setAnchor($anchor) { + $this->anchor = $anchor; + } + public function getAnchor() { + return $this->anchor; + } + public function setAuthor(Google_User $author) { + $this->author = $author; + } + public function getAuthor() { + return $this->author; + } + public function setCommentId($commentId) { + $this->commentId = $commentId; + } + public function getCommentId() { + return $this->commentId; + } + public function setContent($content) { + $this->content = $content; + } + public function getContent() { + return $this->content; + } + public function setContext(Google_CommentContext $context) { + $this->context = $context; + } + public function getContext() { + return $this->context; + } + public function setCreatedDate($createdDate) { + $this->createdDate = $createdDate; + } + public function getCreatedDate() { + return $this->createdDate; + } + public function setDeleted($deleted) { + $this->deleted = $deleted; + } + public function getDeleted() { + return $this->deleted; + } + public function setFileId($fileId) { + $this->fileId = $fileId; + } + public function getFileId() { + return $this->fileId; + } + public function setFileTitle($fileTitle) { + $this->fileTitle = $fileTitle; + } + public function getFileTitle() { + return $this->fileTitle; + } + public function setHtmlContent($htmlContent) { + $this->htmlContent = $htmlContent; + } + public function getHtmlContent() { + return $this->htmlContent; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setModifiedDate($modifiedDate) { + $this->modifiedDate = $modifiedDate; + } + public function getModifiedDate() { + return $this->modifiedDate; + } + public function setReplies(/* array(Google_CommentReply) */ $replies) { + $this->assertIsArray($replies, 'Google_CommentReply', __METHOD__); + $this->replies = $replies; + } + public function getReplies() { + return $this->replies; + } + public function setSelfLink($selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setStatus($status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } +} + +class Google_CommentContext extends Google_Model { + public $type; + public $value; + public function setType($type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setValue($value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_CommentList extends Google_Model { + protected $__itemsType = 'Google_Comment'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setItems(/* array(Google_Comment) */ $items) { + $this->assertIsArray($items, 'Google_Comment', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken($nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_CommentReply extends Google_Model { + protected $__authorType = 'Google_User'; + protected $__authorDataType = ''; + public $author; + public $content; + public $createdDate; + public $deleted; + public $htmlContent; + public $kind; + public $modifiedDate; + public $replyId; + public $verb; + public function setAuthor(Google_User $author) { + $this->author = $author; + } + public function getAuthor() { + return $this->author; + } + public function setContent($content) { + $this->content = $content; + } + public function getContent() { + return $this->content; + } + public function setCreatedDate($createdDate) { + $this->createdDate = $createdDate; + } + public function getCreatedDate() { + return $this->createdDate; + } + public function setDeleted($deleted) { + $this->deleted = $deleted; + } + public function getDeleted() { + return $this->deleted; + } + public function setHtmlContent($htmlContent) { + $this->htmlContent = $htmlContent; + } + public function getHtmlContent() { + return $this->htmlContent; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setModifiedDate($modifiedDate) { + $this->modifiedDate = $modifiedDate; + } + public function getModifiedDate() { + return $this->modifiedDate; + } + public function setReplyId($replyId) { + $this->replyId = $replyId; + } + public function getReplyId() { + return $this->replyId; + } + public function setVerb($verb) { + $this->verb = $verb; + } + public function getVerb() { + return $this->verb; + } +} + +class Google_CommentReplyList extends Google_Model { + protected $__itemsType = 'Google_CommentReply'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setItems(/* array(Google_CommentReply) */ $items) { + $this->assertIsArray($items, 'Google_CommentReply', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken($nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_DriveFile extends Google_Model { + public $alternateLink; + public $appDataContents; + public $createdDate; + public $description; + public $downloadUrl; + public $editable; + public $embedLink; + public $etag; + public $explicitlyTrashed; + public $exportLinks; + public $fileExtension; + public $fileSize; + public $iconLink; + public $id; + protected $__imageMediaMetadataType = 'Google_DriveFileImageMediaMetadata'; + protected $__imageMediaMetadataDataType = ''; + public $imageMediaMetadata; + protected $__indexableTextType = 'Google_DriveFileIndexableText'; + protected $__indexableTextDataType = ''; + public $indexableText; + public $kind; + protected $__labelsType = 'Google_DriveFileLabels'; + protected $__labelsDataType = ''; + public $labels; + protected $__lastModifyingUserType = 'Google_User'; + protected $__lastModifyingUserDataType = ''; + public $lastModifyingUser; + public $lastModifyingUserName; + public $lastViewedByMeDate; + public $md5Checksum; + public $mimeType; + public $modifiedByMeDate; + public $modifiedDate; + public $originalFilename; + public $ownerNames; + protected $__ownersType = 'Google_User'; + protected $__ownersDataType = 'array'; + public $owners; + protected $__parentsType = 'Google_ParentReference'; + protected $__parentsDataType = 'array'; + public $parents; + public $quotaBytesUsed; + public $selfLink; + public $shared; + public $sharedWithMeDate; + protected $__thumbnailType = 'Google_DriveFileThumbnail'; + protected $__thumbnailDataType = ''; + public $thumbnail; + public $thumbnailLink; + public $title; + protected $__userPermissionType = 'Google_Permission'; + protected $__userPermissionDataType = ''; + public $userPermission; + public $webContentLink; + public $webViewLink; + public $writersCanShare; + public function setAlternateLink($alternateLink) { + $this->alternateLink = $alternateLink; + } + public function getAlternateLink() { + return $this->alternateLink; + } + public function setAppDataContents($appDataContents) { + $this->appDataContents = $appDataContents; + } + public function getAppDataContents() { + return $this->appDataContents; + } + public function setCreatedDate($createdDate) { + $this->createdDate = $createdDate; + } + public function getCreatedDate() { + return $this->createdDate; + } + public function setDescription($description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setDownloadUrl($downloadUrl) { + $this->downloadUrl = $downloadUrl; + } + public function getDownloadUrl() { + return $this->downloadUrl; + } + public function setEditable($editable) { + $this->editable = $editable; + } + public function getEditable() { + return $this->editable; + } + public function setEmbedLink($embedLink) { + $this->embedLink = $embedLink; + } + public function getEmbedLink() { + return $this->embedLink; + } + public function setEtag($etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setExplicitlyTrashed($explicitlyTrashed) { + $this->explicitlyTrashed = $explicitlyTrashed; + } + public function getExplicitlyTrashed() { + return $this->explicitlyTrashed; + } + public function setExportLinks($exportLinks) { + $this->exportLinks = $exportLinks; + } + public function getExportLinks() { + return $this->exportLinks; + } + public function setFileExtension($fileExtension) { + $this->fileExtension = $fileExtension; + } + public function getFileExtension() { + return $this->fileExtension; + } + public function setFileSize($fileSize) { + $this->fileSize = $fileSize; + } + public function getFileSize() { + return $this->fileSize; + } + public function setIconLink($iconLink) { + $this->iconLink = $iconLink; + } + public function getIconLink() { + return $this->iconLink; + } + public function setId($id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setImageMediaMetadata(Google_DriveFileImageMediaMetadata $imageMediaMetadata) { + $this->imageMediaMetadata = $imageMediaMetadata; + } + public function getImageMediaMetadata() { + return $this->imageMediaMetadata; + } + public function setIndexableText(Google_DriveFileIndexableText $indexableText) { + $this->indexableText = $indexableText; + } + public function getIndexableText() { + return $this->indexableText; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLabels(Google_DriveFileLabels $labels) { + $this->labels = $labels; + } + public function getLabels() { + return $this->labels; + } + public function setLastModifyingUser(Google_User $lastModifyingUser) { + $this->lastModifyingUser = $lastModifyingUser; + } + public function getLastModifyingUser() { + return $this->lastModifyingUser; + } + public function setLastModifyingUserName($lastModifyingUserName) { + $this->lastModifyingUserName = $lastModifyingUserName; + } + public function getLastModifyingUserName() { + return $this->lastModifyingUserName; + } + public function setLastViewedByMeDate($lastViewedByMeDate) { + $this->lastViewedByMeDate = $lastViewedByMeDate; + } + public function getLastViewedByMeDate() { + return $this->lastViewedByMeDate; + } + public function setMd5Checksum($md5Checksum) { + $this->md5Checksum = $md5Checksum; + } + public function getMd5Checksum() { + return $this->md5Checksum; + } + public function setMimeType($mimeType) { + $this->mimeType = $mimeType; + } + public function getMimeType() { + return $this->mimeType; + } + public function setModifiedByMeDate($modifiedByMeDate) { + $this->modifiedByMeDate = $modifiedByMeDate; + } + public function getModifiedByMeDate() { + return $this->modifiedByMeDate; + } + public function setModifiedDate($modifiedDate) { + $this->modifiedDate = $modifiedDate; + } + public function getModifiedDate() { + return $this->modifiedDate; + } + public function setOriginalFilename($originalFilename) { + $this->originalFilename = $originalFilename; + } + public function getOriginalFilename() { + return $this->originalFilename; + } + public function setOwnerNames(/* array(Google_string) */ $ownerNames) { + $this->assertIsArray($ownerNames, 'Google_string', __METHOD__); + $this->ownerNames = $ownerNames; + } + public function getOwnerNames() { + return $this->ownerNames; + } + public function setOwners(/* array(Google_User) */ $owners) { + $this->assertIsArray($owners, 'Google_User', __METHOD__); + $this->owners = $owners; + } + public function getOwners() { + return $this->owners; + } + public function setParents(/* array(Google_ParentReference) */ $parents) { + $this->assertIsArray($parents, 'Google_ParentReference', __METHOD__); + $this->parents = $parents; + } + public function getParents() { + return $this->parents; + } + public function setQuotaBytesUsed($quotaBytesUsed) { + $this->quotaBytesUsed = $quotaBytesUsed; + } + public function getQuotaBytesUsed() { + return $this->quotaBytesUsed; + } + public function setSelfLink($selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setShared($shared) { + $this->shared = $shared; + } + public function getShared() { + return $this->shared; + } + public function setSharedWithMeDate($sharedWithMeDate) { + $this->sharedWithMeDate = $sharedWithMeDate; + } + public function getSharedWithMeDate() { + return $this->sharedWithMeDate; + } + public function setThumbnail(Google_DriveFileThumbnail $thumbnail) { + $this->thumbnail = $thumbnail; + } + public function getThumbnail() { + return $this->thumbnail; + } + public function setThumbnailLink($thumbnailLink) { + $this->thumbnailLink = $thumbnailLink; + } + public function getThumbnailLink() { + return $this->thumbnailLink; + } + public function setTitle($title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } + public function setUserPermission(Google_Permission $userPermission) { + $this->userPermission = $userPermission; + } + public function getUserPermission() { + return $this->userPermission; + } + public function setWebContentLink($webContentLink) { + $this->webContentLink = $webContentLink; + } + public function getWebContentLink() { + return $this->webContentLink; + } + public function setWebViewLink($webViewLink) { + $this->webViewLink = $webViewLink; + } + public function getWebViewLink() { + return $this->webViewLink; + } + public function setWritersCanShare($writersCanShare) { + $this->writersCanShare = $writersCanShare; + } + public function getWritersCanShare() { + return $this->writersCanShare; + } +} + +class Google_DriveFileImageMediaMetadata extends Google_Model { + public $aperture; + public $cameraMake; + public $cameraModel; + public $colorSpace; + public $date; + public $exposureBias; + public $exposureMode; + public $exposureTime; + public $flashUsed; + public $focalLength; + public $height; + public $isoSpeed; + public $lens; + protected $__locationType = 'Google_DriveFileImageMediaMetadataLocation'; + protected $__locationDataType = ''; + public $location; + public $maxApertureValue; + public $meteringMode; + public $rotation; + public $sensor; + public $subjectDistance; + public $whiteBalance; + public $width; + public function setAperture($aperture) { + $this->aperture = $aperture; + } + public function getAperture() { + return $this->aperture; + } + public function setCameraMake($cameraMake) { + $this->cameraMake = $cameraMake; + } + public function getCameraMake() { + return $this->cameraMake; + } + public function setCameraModel($cameraModel) { + $this->cameraModel = $cameraModel; + } + public function getCameraModel() { + return $this->cameraModel; + } + public function setColorSpace($colorSpace) { + $this->colorSpace = $colorSpace; + } + public function getColorSpace() { + return $this->colorSpace; + } + public function setDate($date) { + $this->date = $date; + } + public function getDate() { + return $this->date; + } + public function setExposureBias($exposureBias) { + $this->exposureBias = $exposureBias; + } + public function getExposureBias() { + return $this->exposureBias; + } + public function setExposureMode($exposureMode) { + $this->exposureMode = $exposureMode; + } + public function getExposureMode() { + return $this->exposureMode; + } + public function setExposureTime($exposureTime) { + $this->exposureTime = $exposureTime; + } + public function getExposureTime() { + return $this->exposureTime; + } + public function setFlashUsed($flashUsed) { + $this->flashUsed = $flashUsed; + } + public function getFlashUsed() { + return $this->flashUsed; + } + public function setFocalLength($focalLength) { + $this->focalLength = $focalLength; + } + public function getFocalLength() { + return $this->focalLength; + } + public function setHeight($height) { + $this->height = $height; + } + public function getHeight() { + return $this->height; + } + public function setIsoSpeed($isoSpeed) { + $this->isoSpeed = $isoSpeed; + } + public function getIsoSpeed() { + return $this->isoSpeed; + } + public function setLens($lens) { + $this->lens = $lens; + } + public function getLens() { + return $this->lens; + } + public function setLocation(Google_DriveFileImageMediaMetadataLocation $location) { + $this->location = $location; + } + public function getLocation() { + return $this->location; + } + public function setMaxApertureValue($maxApertureValue) { + $this->maxApertureValue = $maxApertureValue; + } + public function getMaxApertureValue() { + return $this->maxApertureValue; + } + public function setMeteringMode($meteringMode) { + $this->meteringMode = $meteringMode; + } + public function getMeteringMode() { + return $this->meteringMode; + } + public function setRotation($rotation) { + $this->rotation = $rotation; + } + public function getRotation() { + return $this->rotation; + } + public function setSensor($sensor) { + $this->sensor = $sensor; + } + public function getSensor() { + return $this->sensor; + } + public function setSubjectDistance($subjectDistance) { + $this->subjectDistance = $subjectDistance; + } + public function getSubjectDistance() { + return $this->subjectDistance; + } + public function setWhiteBalance($whiteBalance) { + $this->whiteBalance = $whiteBalance; + } + public function getWhiteBalance() { + return $this->whiteBalance; + } + public function setWidth($width) { + $this->width = $width; + } + public function getWidth() { + return $this->width; + } +} + +class Google_DriveFileImageMediaMetadataLocation extends Google_Model { + public $altitude; + public $latitude; + public $longitude; + public function setAltitude($altitude) { + $this->altitude = $altitude; + } + public function getAltitude() { + return $this->altitude; + } + public function setLatitude($latitude) { + $this->latitude = $latitude; + } + public function getLatitude() { + return $this->latitude; + } + public function setLongitude($longitude) { + $this->longitude = $longitude; + } + public function getLongitude() { + return $this->longitude; + } +} + +class Google_DriveFileIndexableText extends Google_Model { + public $text; + public function setText($text) { + $this->text = $text; + } + public function getText() { + return $this->text; + } +} + +class Google_DriveFileLabels extends Google_Model { + public $hidden; + public $restricted; + public $starred; + public $trashed; + public $viewed; + public function setHidden($hidden) { + $this->hidden = $hidden; + } + public function getHidden() { + return $this->hidden; + } + public function setRestricted($restricted) { + $this->restricted = $restricted; + } + public function getRestricted() { + return $this->restricted; + } + public function setStarred($starred) { + $this->starred = $starred; + } + public function getStarred() { + return $this->starred; + } + public function setTrashed($trashed) { + $this->trashed = $trashed; + } + public function getTrashed() { + return $this->trashed; + } + public function setViewed($viewed) { + $this->viewed = $viewed; + } + public function getViewed() { + return $this->viewed; + } +} + +class Google_DriveFileThumbnail extends Google_Model { + public $image; + public $mimeType; + public function setImage($image) { + $this->image = $image; + } + public function getImage() { + return $this->image; + } + public function setMimeType($mimeType) { + $this->mimeType = $mimeType; + } + public function getMimeType() { + return $this->mimeType; + } +} + +class Google_FileList extends Google_Model { + public $etag; + protected $__itemsType = 'Google_DriveFile'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextLink; + public $nextPageToken; + public $selfLink; + public function setEtag($etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_DriveFile) */ $items) { + $this->assertIsArray($items, 'Google_DriveFile', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextLink($nextLink) { + $this->nextLink = $nextLink; + } + public function getNextLink() { + return $this->nextLink; + } + public function setNextPageToken($nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_ParentList extends Google_Model { + public $etag; + protected $__itemsType = 'Google_ParentReference'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $selfLink; + public function setEtag($etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_ParentReference) */ $items) { + $this->assertIsArray($items, 'Google_ParentReference', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setSelfLink($selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_ParentReference extends Google_Model { + public $id; + public $isRoot; + public $kind; + public $parentLink; + public $selfLink; + public function setId($id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setIsRoot($isRoot) { + $this->isRoot = $isRoot; + } + public function getIsRoot() { + return $this->isRoot; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setParentLink($parentLink) { + $this->parentLink = $parentLink; + } + public function getParentLink() { + return $this->parentLink; + } + public function setSelfLink($selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_Permission extends Google_Model { + public $additionalRoles; + public $authKey; + public $etag; + public $id; + public $kind; + public $name; + public $photoLink; + public $role; + public $selfLink; + public $type; + public $value; + public $withLink; + public function setAdditionalRoles(/* array(Google_string) */ $additionalRoles) { + $this->assertIsArray($additionalRoles, 'Google_string', __METHOD__); + $this->additionalRoles = $additionalRoles; + } + public function getAdditionalRoles() { + return $this->additionalRoles; + } + public function setAuthKey($authKey) { + $this->authKey = $authKey; + } + public function getAuthKey() { + return $this->authKey; + } + public function setEtag($etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setId($id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName($name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setPhotoLink($photoLink) { + $this->photoLink = $photoLink; + } + public function getPhotoLink() { + return $this->photoLink; + } + public function setRole($role) { + $this->role = $role; + } + public function getRole() { + return $this->role; + } + public function setSelfLink($selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setType($type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setValue($value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } + public function setWithLink($withLink) { + $this->withLink = $withLink; + } + public function getWithLink() { + return $this->withLink; + } +} + +class Google_PermissionList extends Google_Model { + public $etag; + protected $__itemsType = 'Google_Permission'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $selfLink; + public function setEtag($etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_Permission) */ $items) { + $this->assertIsArray($items, 'Google_Permission', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setSelfLink($selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_Property extends Google_Model { + public $etag; + public $key; + public $kind; + public $selfLink; + public $value; + public $visibility; + public function setEtag($etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setKey($key) { + $this->key = $key; + } + public function getKey() { + return $this->key; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setSelfLink($selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setValue($value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } + public function setVisibility($visibility) { + $this->visibility = $visibility; + } + public function getVisibility() { + return $this->visibility; + } +} + +class Google_PropertyList extends Google_Model { + public $etag; + protected $__itemsType = 'Google_Property'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $selfLink; + public function setEtag($etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_Property) */ $items) { + $this->assertIsArray($items, 'Google_Property', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setSelfLink($selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_Revision extends Google_Model { + public $downloadUrl; + public $etag; + public $exportLinks; + public $fileSize; + public $id; + public $kind; + protected $__lastModifyingUserType = 'Google_User'; + protected $__lastModifyingUserDataType = ''; + public $lastModifyingUser; + public $lastModifyingUserName; + public $md5Checksum; + public $mimeType; + public $modifiedDate; + public $originalFilename; + public $pinned; + public $publishAuto; + public $published; + public $publishedLink; + public $publishedOutsideDomain; + public $selfLink; + public function setDownloadUrl($downloadUrl) { + $this->downloadUrl = $downloadUrl; + } + public function getDownloadUrl() { + return $this->downloadUrl; + } + public function setEtag($etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setExportLinks($exportLinks) { + $this->exportLinks = $exportLinks; + } + public function getExportLinks() { + return $this->exportLinks; + } + public function setFileSize($fileSize) { + $this->fileSize = $fileSize; + } + public function getFileSize() { + return $this->fileSize; + } + public function setId($id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLastModifyingUser(Google_User $lastModifyingUser) { + $this->lastModifyingUser = $lastModifyingUser; + } + public function getLastModifyingUser() { + return $this->lastModifyingUser; + } + public function setLastModifyingUserName($lastModifyingUserName) { + $this->lastModifyingUserName = $lastModifyingUserName; + } + public function getLastModifyingUserName() { + return $this->lastModifyingUserName; + } + public function setMd5Checksum($md5Checksum) { + $this->md5Checksum = $md5Checksum; + } + public function getMd5Checksum() { + return $this->md5Checksum; + } + public function setMimeType($mimeType) { + $this->mimeType = $mimeType; + } + public function getMimeType() { + return $this->mimeType; + } + public function setModifiedDate($modifiedDate) { + $this->modifiedDate = $modifiedDate; + } + public function getModifiedDate() { + return $this->modifiedDate; + } + public function setOriginalFilename($originalFilename) { + $this->originalFilename = $originalFilename; + } + public function getOriginalFilename() { + return $this->originalFilename; + } + public function setPinned($pinned) { + $this->pinned = $pinned; + } + public function getPinned() { + return $this->pinned; + } + public function setPublishAuto($publishAuto) { + $this->publishAuto = $publishAuto; + } + public function getPublishAuto() { + return $this->publishAuto; + } + public function setPublished($published) { + $this->published = $published; + } + public function getPublished() { + return $this->published; + } + public function setPublishedLink($publishedLink) { + $this->publishedLink = $publishedLink; + } + public function getPublishedLink() { + return $this->publishedLink; + } + public function setPublishedOutsideDomain($publishedOutsideDomain) { + $this->publishedOutsideDomain = $publishedOutsideDomain; + } + public function getPublishedOutsideDomain() { + return $this->publishedOutsideDomain; + } + public function setSelfLink($selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_RevisionList extends Google_Model { + public $etag; + protected $__itemsType = 'Google_Revision'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $selfLink; + public function setEtag($etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_Revision) */ $items) { + $this->assertIsArray($items, 'Google_Revision', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setSelfLink($selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_User extends Google_Model { + public $displayName; + public $isAuthenticatedUser; + public $kind; + public $permissionId; + protected $__pictureType = 'Google_UserPicture'; + protected $__pictureDataType = ''; + public $picture; + public function setDisplayName($displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setIsAuthenticatedUser($isAuthenticatedUser) { + $this->isAuthenticatedUser = $isAuthenticatedUser; + } + public function getIsAuthenticatedUser() { + return $this->isAuthenticatedUser; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPermissionId($permissionId) { + $this->permissionId = $permissionId; + } + public function getPermissionId() { + return $this->permissionId; + } + public function setPicture(Google_UserPicture $picture) { + $this->picture = $picture; + } + public function getPicture() { + return $this->picture; + } +} + +class Google_UserPicture extends Google_Model { + public $url; + public function setUrl($url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} diff --git a/apps/files_external/3rdparty/google-api-php-client/src/external/URITemplateParser.php b/apps/files_external/3rdparty/google-api-php-client/src/external/URITemplateParser.php new file mode 100644 index 0000000000000000000000000000000000000000..594adbb15e24abe333f8d681ed2b6ea360e40280 --- /dev/null +++ b/apps/files_external/3rdparty/google-api-php-client/src/external/URITemplateParser.php @@ -0,0 +1,209 @@ +template = $template; + } + + public function expand($data) { + // Modification to make this a bit more performant (since gettype is very slow) + if (! is_array($data)) { + $data = (array)$data; + } + /* + // Original code, which uses a slow gettype() statement, kept in place for if the assumption that is_array always works here is incorrect + switch (gettype($data)) { + case "boolean": + case "integer": + case "double": + case "string": + case "object": + $data = (array)$data; + break; + } +*/ + + // Resolve template vars + preg_match_all('/\{([^\}]*)\}/', $this->template, $em); + + foreach ($em[1] as $i => $bare_expression) { + preg_match('/^([\+\;\?\/\.]{1})?(.*)$/', $bare_expression, $lm); + $exp = new StdClass(); + $exp->expression = $em[0][$i]; + $exp->operator = $lm[1]; + $exp->variable_list = $lm[2]; + $exp->varspecs = explode(',', $exp->variable_list); + $exp->vars = array(); + foreach ($exp->varspecs as $varspec) { + preg_match('/^([a-zA-Z0-9_]+)([\*\+]{1})?([\:\^][0-9-]+)?(\=[^,]+)?$/', $varspec, $vm); + $var = new StdClass(); + $var->name = $vm[1]; + $var->modifier = isset($vm[2]) && $vm[2] ? $vm[2] : null; + $var->modifier = isset($vm[3]) && $vm[3] ? $vm[3] : $var->modifier; + $var->default = isset($vm[4]) ? substr($vm[4], 1) : null; + $exp->vars[] = $var; + } + + // Add processing flags + $exp->reserved = false; + $exp->prefix = ''; + $exp->delimiter = ','; + switch ($exp->operator) { + case '+': + $exp->reserved = 'true'; + break; + case ';': + $exp->prefix = ';'; + $exp->delimiter = ';'; + break; + case '?': + $exp->prefix = '?'; + $exp->delimiter = '&'; + break; + case '/': + $exp->prefix = '/'; + $exp->delimiter = '/'; + break; + case '.': + $exp->prefix = '.'; + $exp->delimiter = '.'; + break; + } + $expressions[] = $exp; + } + + // Expansion + $this->expansion = $this->template; + + foreach ($expressions as $exp) { + $part = $exp->prefix; + $exp->one_var_defined = false; + foreach ($exp->vars as $var) { + $val = ''; + if ($exp->one_var_defined && isset($data[$var->name])) { + $part .= $exp->delimiter; + } + // Variable present + if (isset($data[$var->name])) { + $exp->one_var_defined = true; + $var->data = $data[$var->name]; + + $val = self::val_from_var($var, $exp); + + // Variable missing + } else { + if ($var->default) { + $exp->one_var_defined = true; + $val = $var->default; + } + } + $part .= $val; + } + if (! $exp->one_var_defined) $part = ''; + $this->expansion = str_replace($exp->expression, $part, $this->expansion); + } + + return $this->expansion; + } + + private function val_from_var($var, $exp) { + $val = ''; + if (is_array($var->data)) { + $i = 0; + if ($exp->operator == '?' && ! $var->modifier) { + $val .= $var->name . '='; + } + foreach ($var->data as $k => $v) { + $del = $var->modifier ? $exp->delimiter : ','; + $ek = rawurlencode($k); + $ev = rawurlencode($v); + + // Array + if ($k !== $i) { + if ($var->modifier == '+') { + $val .= $var->name . '.'; + } + if ($exp->operator == '?' && $var->modifier || $exp->operator == ';' && $var->modifier == '*' || $exp->operator == ';' && $var->modifier == '+') { + $val .= $ek . '='; + } else { + $val .= $ek . $del; + } + + // List + } else { + if ($var->modifier == '+') { + if ($exp->operator == ';' && $var->modifier == '*' || $exp->operator == ';' && $var->modifier == '+' || $exp->operator == '?' && $var->modifier == '+') { + $val .= $var->name . '='; + } else { + $val .= $var->name . '.'; + } + } + } + $val .= $ev . $del; + $i ++; + } + $val = trim($val, $del); + + // Strings, numbers, etc. + } else { + if ($exp->operator == '?') { + $val = $var->name . (isset($var->data) ? '=' : ''); + } else if ($exp->operator == ';') { + $val = $var->name . ($var->data ? '=' : ''); + } + $val .= rawurlencode($var->data); + if ($exp->operator == '+') { + $val = str_replace(self::$reserved_pct, self::$reserved, $val); + } + } + return $val; + } + + public function match($uri) {} + + public function __toString() { + return $this->template; + } +} diff --git a/apps/files_external/3rdparty/google-api-php-client/src/io/Google_CacheParser.php b/apps/files_external/3rdparty/google-api-php-client/src/io/Google_CacheParser.php new file mode 100644 index 0000000000000000000000000000000000000000..7f5accfefe9720a79ff7b7a7fd6063de8a0ae7d3 --- /dev/null +++ b/apps/files_external/3rdparty/google-api-php-client/src/io/Google_CacheParser.php @@ -0,0 +1,173 @@ + + */ +class Google_CacheParser { + public static $CACHEABLE_HTTP_METHODS = array('GET', 'HEAD'); + public static $CACHEABLE_STATUS_CODES = array('200', '203', '300', '301'); + + private function __construct() {} + + /** + * Check if an HTTP request can be cached by a private local cache. + * + * @static + * @param Google_HttpRequest $resp + * @return bool True if the request is cacheable. + * False if the request is uncacheable. + */ + public static function isRequestCacheable (Google_HttpRequest $resp) { + $method = $resp->getRequestMethod(); + if (! in_array($method, self::$CACHEABLE_HTTP_METHODS)) { + return false; + } + + // Don't cache authorized requests/responses. + // [rfc2616-14.8] When a shared cache receives a request containing an + // Authorization field, it MUST NOT return the corresponding response + // as a reply to any other request... + if ($resp->getRequestHeader("authorization")) { + return false; + } + + return true; + } + + /** + * Check if an HTTP response can be cached by a private local cache. + * + * @static + * @param Google_HttpRequest $resp + * @return bool True if the response is cacheable. + * False if the response is un-cacheable. + */ + public static function isResponseCacheable (Google_HttpRequest $resp) { + // First, check if the HTTP request was cacheable before inspecting the + // HTTP response. + if (false == self::isRequestCacheable($resp)) { + return false; + } + + $code = $resp->getResponseHttpCode(); + if (! in_array($code, self::$CACHEABLE_STATUS_CODES)) { + return false; + } + + // The resource is uncacheable if the resource is already expired and + // the resource doesn't have an ETag for revalidation. + $etag = $resp->getResponseHeader("etag"); + if (self::isExpired($resp) && $etag == false) { + return false; + } + + // [rfc2616-14.9.2] If [no-store is] sent in a response, a cache MUST NOT + // store any part of either this response or the request that elicited it. + $cacheControl = $resp->getParsedCacheControl(); + if (isset($cacheControl['no-store'])) { + return false; + } + + // Pragma: no-cache is an http request directive, but is occasionally + // used as a response header incorrectly. + $pragma = $resp->getResponseHeader('pragma'); + if ($pragma == 'no-cache' || strpos($pragma, 'no-cache') !== false) { + return false; + } + + // [rfc2616-14.44] Vary: * is extremely difficult to cache. "It implies that + // a cache cannot determine from the request headers of a subsequent request + // whether this response is the appropriate representation." + // Given this, we deem responses with the Vary header as uncacheable. + $vary = $resp->getResponseHeader('vary'); + if ($vary) { + return false; + } + + return true; + } + + /** + * @static + * @param Google_HttpRequest $resp + * @return bool True if the HTTP response is considered to be expired. + * False if it is considered to be fresh. + */ + public static function isExpired(Google_HttpRequest $resp) { + // HTTP/1.1 clients and caches MUST treat other invalid date formats, + // especially including the value “0”, as in the past. + $parsedExpires = false; + $responseHeaders = $resp->getResponseHeaders(); + if (isset($responseHeaders['expires'])) { + $rawExpires = $responseHeaders['expires']; + // Check for a malformed expires header first. + if (empty($rawExpires) || (is_numeric($rawExpires) && $rawExpires <= 0)) { + return true; + } + + // See if we can parse the expires header. + $parsedExpires = strtotime($rawExpires); + if (false == $parsedExpires || $parsedExpires <= 0) { + return true; + } + } + + // Calculate the freshness of an http response. + $freshnessLifetime = false; + $cacheControl = $resp->getParsedCacheControl(); + if (isset($cacheControl['max-age'])) { + $freshnessLifetime = $cacheControl['max-age']; + } + + $rawDate = $resp->getResponseHeader('date'); + $parsedDate = strtotime($rawDate); + + if (empty($rawDate) || false == $parsedDate) { + $parsedDate = time(); + } + if (false == $freshnessLifetime && isset($responseHeaders['expires'])) { + $freshnessLifetime = $parsedExpires - $parsedDate; + } + + if (false == $freshnessLifetime) { + return true; + } + + // Calculate the age of an http response. + $age = max(0, time() - $parsedDate); + if (isset($responseHeaders['age'])) { + $age = max($age, strtotime($responseHeaders['age'])); + } + + return $freshnessLifetime <= $age; + } + + /** + * Determine if a cache entry should be revalidated with by the origin. + * + * @param Google_HttpRequest $response + * @return bool True if the entry is expired, else return false. + */ + public static function mustRevalidate(Google_HttpRequest $response) { + // [13.3] When a cache has a stale entry that it would like to use as a + // response to a client's request, it first has to check with the origin + // server to see if its cached entry is still usable. + return self::isExpired($response); + } +} \ No newline at end of file diff --git a/apps/files_external/3rdparty/google-api-php-client/src/io/Google_CurlIO.php b/apps/files_external/3rdparty/google-api-php-client/src/io/Google_CurlIO.php new file mode 100644 index 0000000000000000000000000000000000000000..65352f29882d5286522a42d371ea9922fc0446a9 --- /dev/null +++ b/apps/files_external/3rdparty/google-api-php-client/src/io/Google_CurlIO.php @@ -0,0 +1,278 @@ + + * @author Chirag Shah\n"; + return RODSConnManager::getConn($account); + } + + public static function releaseConn(RODSConn $conn) + { + $manager = $GLOBALS['RODSConnManager']; + $conn_sig = $conn->getSignature(); + + //echo "id:".$conn->getId()." ".implode(",",array_keys($manager->conn_map[$conn_sig]))." \n"; + + if (isset($manager->conn_map[$conn_sig][$conn->getId()])) { + $manager->conn_map[$conn_sig][$conn->getId()]->unlock(); + } + } +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/RODSDirStats.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/RODSDirStats.class.php new file mode 100644 index 0000000000000000000000000000000000000000..16d24584f4321801bec834419d96af577a7a8975 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/RODSDirStats.class.php @@ -0,0 +1,25 @@ +name = $name; + $this->owner = $owner; + $this->ownerzone = $ownerzone; + $this->mtime = $mtime; + $this->ctime = $ctime; + $this->id = $id; + $this->comments = $comments; + } + +} + \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/RODSException.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/RODSException.class.php new file mode 100644 index 0000000000000000000000000000000000000000..52eb95bbfb5c3c8f55fa51103b2438f86c9cbd54 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/RODSException.class.php @@ -0,0 +1,184 @@ + + * @copyright Copyright © 2007, TBD + * @package Prods + */ + +$errtable_file = dirname(__FILE__) . "/RodsErrorTable.inc.php"; + +if (is_readable($errtable_file)) + require_once($errtable_file); +else + die("Could not read file $errtable_file \n"); + +/** + * custom exception class for RODS + */ +class RODSException extends Exception +{ + private $code_abbr; + private $cause; + + /** + * Makes a new RODS excption + * @param string $message err/exception message + * @param string $code_abbr error code abbreviation + */ + public function __construct($message, $code_abbr = "UNKNOWN_PRODS_ERR", + Exception $cause = NULL) + { + $this->code_abbr = $code_abbr; + $this->cause = $cause; + + parent::__construct($message, $GLOBALS['PRODS_ERR_CODES'][$code_abbr]); + } + + public function getCause() + { + return $this->cause; + } + + public function getCodeAbbr() + { + return $this->code_abbr; + } + + public static function rodsErrCodeToAbbr($code) + { + if (isset($GLOBALS['PRODS_ERR_CODES_REV']["$code"])) + return $GLOBALS['PRODS_ERR_CODES_REV']["$code"]; + else + return null; + } + + public static function rodsErrAbbrToCode($codeabbr) + { + if (isset($GLOBALS['PRODS_ERR_CODES']["$codeabbr"])) + return $GLOBALS['PRODS_ERR_CODES']["$codeabbr"]; + else + return null; + } + + public function getStackTrace() + { + if ($this->cause !== null) { + $arr = array(); + $trace = $this->getTrace(); + array_push($arr, $trace[0]); + unset($trace); + if (get_class($this->cause) == "RODSException") { + foreach ($this->cause->getStackTrace() as $key => $trace) { + array_push($arr, $trace); + } + } else { + foreach ($this->cause->getTrace() as $key => $trace) { + array_push($arr, $trace); + } + } + return $arr; + } else { + return $this->getTrace(); + } + } + + public function showStackTrace() + { + $htmldoc = " An exception was thrown : "; + } + return $htmldoc; + } + + /** + * Magic function to turn exception obj to a string + */ + public function __toString() + { + return __CLASS__ . ": [{$this->code} $this->code_abbr]: {$this->message}\n"; + //return $this->showStackTrace(); + } + +} + +?> diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/RODSFileStats.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/RODSFileStats.class.php new file mode 100644 index 0000000000000000000000000000000000000000..6452c2b1e535d7ba97a75b9be7cb71dec9d89dec --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/RODSFileStats.class.php @@ -0,0 +1,34 @@ +name = $name; + $this->size = $size; + $this->owner = $owner; + $this->ownerzone = $ownerzone; + $this->mtime = $mtime; + $this->ctime = $ctime; + $this->id = $id; + $this->typename = $typename; + $this->rescname = $rescname; + $this->comments = $comments; + $this->num_replica = $num_replica; + } + +} + \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/RODSGenQueConds.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/RODSGenQueConds.class.php new file mode 100644 index 0000000000000000000000000000000000000000..848f29e85e95c83ad4fc77781f56124f8a066921 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/RODSGenQueConds.class.php @@ -0,0 +1,114 @@ +=' and val='0', then the triplex means + * "foo >= 0" as one iRODS general query condition. + * @param array (of string) $names names of the field, which must be one defined in file 'RodsGenQueryNum.inc.php'. + * @param array (of string) $ops logical operator, such as '=' 'like' '>' + * @param array (of string) $vals value of the filed + */ + public function __construct(array $names = array(), array $ops = array(), + array $vals = array()) + { + require_once("RodsGenQueryNum.inc.php"); //load magic numbers + require_once("RodsGenQueryKeyWd.inc.php"); //load magic keywords + + $this->cond = array('names' => array(), 'sysnames' => array(), 'values' => array()); + $this->cond_kw = array('names' => array(), 'sysnames' => array(), 'values' => array()); + + for ($i = 0; $i < count($names); $i++) { + $name = $names[$i]; + $op = $ops[$i]; + $val = $vals[$i]; + if (isset($GLOBALS['PRODS_GENQUE_NUMS']["$name"])) { + $this->cond['names'][] = $name; + $this->cond['sysnames'][] = $GLOBALS['PRODS_GENQUE_NUMS']["$name"]; + $this->cond['values'][] = "$op '$val'"; + } else + if (isset($GLOBALS['PRODS_GENQUE_KEYWD']["$name"])) { + $this->cond_kw['names'][] = $name; + $this->cond_kw['sysnames'][] = $GLOBALS['PRODS_GENQUE_KEYWD']["$name"]; + $this->cond_kw['values'][] = "$op '$val'"; + } else { + throw new RODSException("General Query condition field name '$name' is not valid", + 'PERR_USER_INPUT_ERROR'); + } + } + } + + /** + * Add a single select field. + * @param string $name names of the field, which must be one defined in file 'RodsGenQueryNum.inc.php'. + * @param string $op logical operator, such as '=' 'like' '>' + * @param string $val value of the filed + * @param array an array of tuples of extra op's and val's, each tuple is an assosive array that has key 'op' and 'val'. These conditions will be 'OR' with the other conditions. + * for example add ('COL_D_DATA_ID','like', '/tempZone/home/rods/%', array(array('op'=>'=','val'=>'/tempZone/home/rods'"))) + * would select all file ids both in subdirectories under '/tempZone/home/rods' and directly under '/tempZone/home/rods' + */ + public function add($name, $op, $val, array $OR_ops_vals = array()) + { + require_once("RodsGenQueryNum.inc.php"); //load magic numbers + require_once("RodsGenQueryKeyWd.inc.php"); //load magic keywords + + if (isset($GLOBALS['PRODS_GENQUE_NUMS']["$name"])) { + $this->cond['names'][] = $name; + $this->cond['sysnames'][] = $GLOBALS['PRODS_GENQUE_NUMS']["$name"]; + $value = "$op '$val'"; + foreach ($OR_ops_vals as $op_val) { + $or_op = $op_val['op']; + $or_val = $op_val['val']; + if (empty($or_op) || empty($or_val)) + continue; + $value = $value . " || $or_op '$or_val'"; + } + $this->cond['values'][] = $value; + } else + if (isset($GLOBALS['PRODS_GENQUE_KEYWD']["$name"])) { + $this->cond_kw['names'][] = $name; + $this->cond_kw['sysnames'][] = $GLOBALS['PRODS_GENQUE_KEYWD']["$name"]; + $value = "$op '$val'"; + foreach ($OR_ops_vals as $op_val) { + $or_op = $op_val['op']; + $or_val = $op_val['val']; + if (empty($or_op) || empty($or_val)) + continue; + $value = $value . " || $or_op '$or_val'"; + } + $this->cond_kw['values'][] = $value; + } else { + throw new RODSException("General Query condition field name '$name' is not valid", + 'PERR_USER_INPUT_ERROR'); + } + } + + /** + * make a RP_InxValPair. + */ + public function packetize() + { + return (new RP_InxValPair(count($this->cond['names']), + $this->cond['sysnames'], $this->cond['values'])); + } + + /** + * make a RP_KeyValPair. + */ + public function packetizeKW() + { + return (new RP_KeyValPair(count($this->cond_kw['names']), + $this->cond_kw['sysnames'], $this->cond_kw['values'])); + } + + public function getCond() + { + return $this->cond; + } +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/RODSGenQueResults.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/RODSGenQueResults.class.php new file mode 100644 index 0000000000000000000000000000000000000000..41be1069afd8dc3ecea38280b67565b0e05ff72f --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/RODSGenQueResults.class.php @@ -0,0 +1,99 @@ +total_count = $total_count; + $this->values = $result_array; + $this->numcol = count($result_array); + if ($this->numcol > 0) + $this->numrow = count(current($result_array)); + else + $this->numrow = 0; + } + + /** + * Add general query result packet RP_GenQueryOut, directly from the protocol level query, into the result structure. + * @param RP_GenQueryOut $genque_result_pk result packet directly from the protocol level query. + * @return number of rows just added + */ + public function addResults(RP_GenQueryOut $genque_result_pk) + { + if ($genque_result_pk->totalRowCount > $this->total_count) + $this->total_count = $genque_result_pk->totalRowCount; + + require_once("RodsGenQueryNum.inc.php"); //load magic numbers + + $num_row_added = 0; + for ($i = 0; $i < $genque_result_pk->attriCnt; $i++) { + $sql_res_pk = $genque_result_pk->SqlResult_PI[$i]; + $attri_name = $GLOBALS['PRODS_GENQUE_NUMS_REV'][$sql_res_pk->attriInx]; + if (empty($this->values["$attri_name"])) + $this->values["$attri_name"] = $sql_res_pk->value; + else + array_splice($this->values["$attri_name"], + count($this->values["$attri_name"]), 0, $sql_res_pk->value); + if ($i == 0) { + $num_row_added = count($sql_res_pk->value); + if ($num_row_added != (int)$genque_result_pk->rowCnt) { + throw new RODSException("Gen Query result packet num row mismatch. Expect: $genque_result_pk->rowCnt, got: $num_row_added", + 'PERR_UNEXPECTED_PACKET_FORMAT'); + } + } + } + + $this->numcol = count($this->values); + if ($this->numcol > 0) + $this->numrow = count(current($this->values)); + else + $this->numrow = 0; + + return $num_row_added; + } + + /** + * get result values in (2-d) array, each array key is the name + * used RODSGenQueSelFlds, such as COL_COLL_NAME + */ + public function getValues() + { + return $this->values; + } + + /** + * get total result count, including all the potential results not returned. + */ + public function getTotalCount() + { + return $this->total_count; + } + + /** + * get number of columns/fields of the results. + */ + public function getNumCol() + { + return $this->numcol; + } + + /** + * get number of rows of the results. + */ + public function getNumRow() + { + return $this->numrow; + } +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/RODSGenQueSelFlds.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/RODSGenQueSelFlds.class.php new file mode 100644 index 0000000000000000000000000000000000000000..10a32f6614faecbc424127f592ddad10f9b0ca95 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/RODSGenQueSelFlds.class.php @@ -0,0 +1,160 @@ +names = $names; + $this->attrs = array(); + $this->indexes = array(); + + for ($i = 0; $i < count($names); $i++) { + $name = $names[$i]; + if (!isset($GLOBALS['PRODS_GENQUE_NUMS']["$name"])) { + throw new RODSException("General Query select field name '$name' is not valid", + 'PERR_USER_INPUT_ERROR'); + } + $this->indexes[] = $GLOBALS['PRODS_GENQUE_NUMS']["$name"]; + $this->attrs[] = RODSGenQueSelFlds::attr2GenQueNumber($attrs[$i]); + } + + } + + /** + * Add a single select field. + * + * @param string name name of the field, which must be one defined in file 'RodsGenQueryNum.inc.php'. + */ + public function add($name, $attr = NULL) + { + require_once("RodsGenQueryNum.inc.php"); //load magic numbers + if (!isset($GLOBALS['PRODS_GENQUE_NUMS']["$name"])) { + throw new RODSException("General Query select field name '$name' is not valid", + 'PERR_USER_INPUT_ERROR'); + } + $this->indexes[] = $GLOBALS['PRODS_GENQUE_NUMS']["$name"]; + $this->names[] = $name; + $this->attrs[] = RODSGenQueSelFlds::attr2GenQueNumber($attr); + } + + /** + * update a single select field's attr/value. Note that if the value already exists, + * it will OR the bits. This is used when you want more than one type of operation + * for a select field, such as select_max and sort. + */ + public function update($name, $attr) + { + require_once("RodsGenQueryNum.inc.php"); //load magic numbers + if (!isset($GLOBALS['PRODS_GENQUE_NUMS']["$name"])) { + throw new RODSException("General Query select field name '$name' is not valid", + 'PERR_USER_INPUT_ERROR'); + } + + $newattr = RODSGenQueSelFlds::attr2GenQueNumber($attr); + for ($i = 0; $i < count($this->names); $i++) { + if ($this->names[$i] == $name) { + if ($this->attrs[$i] == 1) + $this->attrs[$i] = $newattr; + else + $this->attrs[$i] = $newattr | $this->attrs[$i]; + return; + } + } + $this->add($name, $attr); + } + + /** + * Convert supported attribute to magic number, that iRODS protocol uses + * Following attributes are supported: + * - 'order_by_asc' order the result by this field, in ASCENDING order + * - 'order_by_desc' order the result by this field, in DESCENDING order + * - min minimum of the group + * - max maximum of the group + * - sum sum of the group + * - avg average of the group + * - count count of the group + */ + public static function attr2GenQueNumber($attr) + { + if (empty($attr)) return 1; + $retval = 1; + switch ($attr) { + case 'order_by_asc': + $retval = $GLOBALS['PRODS_GENQUE_NUMS']['ORDER_BY']; + break; + case 'order_by_desc': + $retval = $GLOBALS['PRODS_GENQUE_NUMS']['ORDER_BY_DESC']; + break; + case 'min': + $retval = $GLOBALS['PRODS_GENQUE_NUMS']['SELECT_MIN']; + break; + case 'max': + $retval = $GLOBALS['PRODS_GENQUE_NUMS']['SELECT_MAX']; + break; + case 'sum': + $retval = $GLOBALS['PRODS_GENQUE_NUMS']['SELECT_SUM']; + break; + case 'avg': + $retval = $GLOBALS['PRODS_GENQUE_NUMS']['SELECT_AVG']; + break; + case 'count': + $retval = $GLOBALS['PRODS_GENQUE_NUMS']['SELECT_COUNT']; + break; + default: + throw new RODSException("Unexpected attribute: '$attr'", + 'PERR_USER_INPUT_ERROR'); + } + return intval($retval); + } + + /** + * make a RP_InxIvalPair, a low level iRODS packet + */ + public function packetize() + { + return (new RP_InxIvalPair(count($this->names), $this->indexes, + $this->attrs)); + + } + + public function getIndexes() + { + return $this->indexes; + } + + public function getAttrs() + { + return $this->attrs; + } + + public function getCount() + { + return count($this->names); + } + + public function getNames() + { + return $this->names; + } + +} + +?> diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/RODSKeyValPair.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/RODSKeyValPair.class.php new file mode 100644 index 0000000000000000000000000000000000000000..31b720cf19cb419f5bcdd810f0292db7c32ca33c --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/RODSKeyValPair.class.php @@ -0,0 +1,50 @@ + + * @copyright Copyright © 2007, TBD + * @package RODSConn + */ + + +require_once("autoload.inc.php"); + +class RODSKeyValPair +{ + private $keys; + private $vals; + + public function __construct(array $arr = array()) + { + $this->keys = array_keys($arr); + $this->vals = array_values($arr); + } + + public function addPair($key, $val) + { + $this->keys[] = $key; + $this->vals[] = $val; + } + + /** + * Make a RP_KeyValPair + * @return RP_KeyValPair a RP_KeyValPair object + */ + public function makePacket() + { + return new RP_KeyValPair(count($this->keys), $this->keys, $this->vals); + } + + /** + * make a RODSKeyValPair from a RP_KeyValPair + */ + public static function fromPacket(RP_KeyValPair $RP_KeyValPair) + { + $new_keyval = new RODSKeyValPair(); + $new_keyval->keys = $RP_KeyValPair->keyWord; + $new_keyval->vals = $RP_KeyValPair->svalue; + return $new_keyval; + } +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/RODSMessage.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/RODSMessage.class.php new file mode 100644 index 0000000000000000000000000000000000000000..ca3e8bc23a6055ab34e42c5e5d35a781591088c9 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/RODSMessage.class.php @@ -0,0 +1,185 @@ + "RODS_CONNECT", + "RODS_VERSION_T" => "RODS_VERSION", + "RODS_API_REQ_T" => "RODS_API_REQ", + "RODS_DISCONNECT_T" => "RODS_DISCONNECT", + "RODS_REAUTH_T" => "RODS_REAUTH", + "RODS_API_REPLY_T" => "RODS_API_REPLY" +); + +class RODSMessage +{ + private $type; // (String) message type, such as "RODS_CONNECT_T" + private $typestr; // (String) str representation of the type that RODS server understand + private $msg; // (RODSPacket) main message body + private $header; // (RODSPacket) a special packet, header for other packets + private $header_xml; // (string) packet header in XML + private $msg_xml; // (string) message in XML + private $binstr; // (string) binary string + private $errstr; // (string) error string + private $intinfo; // an additional integer info, for API, it is the + // apiReqNum + private $serialized; + + public function __construct($type = NULL, $_msg = NULL, $intinfo = 0, $binstr = "", $errstr = "") + { + if (!isset($type)) { + return; + } + + $this->type = $type; + $RODSMessage_types = $GLOBALS['RODSMessage_types']; + if (!isset($RODSMessage_types[$type])) { + throw new RODSException("RODSMessage::__construct failed.1! Unknown type '$type'", + "PERR_INTERNAL_ERR"); + } + $this->typestr = $RODSMessage_types[$type]; + + if (isset($_msg)) { + if (!($_msg instanceof RODSPacket)) { + throw new RODSException("RODSMessage::__construct failed.2!", + "PERR_INTERNAL_ERR"); + } + } + $this->msg = $_msg; + $this->intinfo = $intinfo; + $this->binstr = $binstr; + $this->errstr = $errstr; + } + + public function pack() + { + if (isset($this->msg)) + $this->msg_xml = $this->msg->toXML(); + + $this->header = new RP_MsgHeader($this->typestr, strlen($this->msg_xml), + strlen($this->errstr), strlen($this->binstr), $this->intinfo); + $header_xml = $this->header->toXML(); + $this->serialized = pack("N", strlen($header_xml)) . $header_xml . + $this->msg_xml; + return $this->serialized; + } + + + public function unpack($conn, &$bslen = NULL) + { + if (FALSE === ($chunk = stream_get_contents($conn, 4))) { + throw new RODSException("RODSMessage::unpack failed.0! ", + "SYS_PACK_INSTRUCT_FORMAT_ERR"); + } + + + $arr = unpack("Nlen", $chunk); + $header_len = $arr['len']; + if ((!is_int($header_len)) || ($header_len < 1) || ($header_len > 8192 - 4)) { + throw new RODSException("RODSMessage::unpack failed.1! The header length is unexpected: '$header_len'", + "SYS_PACK_INSTRUCT_FORMAT_ERR"); + } + + $this->header_xml = stream_get_contents($conn, $header_len); + $this->parseHeaderXML($this->header_xml); + $intInfo = $this->header->intInfo; + + // get main msg string + $msg_len = $this->header->msgLen; + $this->msg_xml = stream_get_contents($conn, $msg_len); + if ($msg_len != strlen($this->msg_xml)) { + throw new RODSException("RODSMessage::unpack failed.2! " . + "The body length is unexpected: " . strlen($this->msg_xml) . + " expecting: $msg_len", + "SYS_PACK_INSTRUCT_FORMAT_ERR"); + } + if ($msg_len > 0) { + $this->parseBodyXML($this->msg_xml); + } + + // get err string + $errlen = $this->header->errorLen; + $this->errstr = stream_get_contents($conn, $errlen); + if ($errlen != strlen($this->errstr)) { + throw new RODSException("RODSMessage::unpack failed.3! " . + "The err length is unexpected: " . strlen($this->errstr) . + " expecting: $errlen", + "SYS_PACK_INSTRUCT_FORMAT_ERR"); + } + + // get bin string + $bslen = $this->header->bsLen; + $this->binstr = stream_get_contents($conn, $bslen); + if ($bslen != strlen($this->binstr)) { + throw new RODSException("RODSMessage::unpack failed.4! " . + "The bin str length is unexpected: " . strlen($this->binstr) . + " expecting: $bslen", + "SYS_PACK_INSTRUCT_FORMAT_ERR"); + } + + return $this->header->intInfo; + } + + private function parseHeaderXML($xmlstr) + { + $xml = new SimpleXMLElement($xmlstr); + $name = $xml->getName(); + if ($name != "MsgHeader_PI") { + throw new RODSException("RODSMessage::parseHeaderXML failed! " . + "The XML header name is unexpected:$name " . + " expecting: MsgHeader_PI", + "SYS_PACK_INSTRUCT_FORMAT_ERR"); + } + $this->header = new RP_MsgHeader(); + $this->header->fromSXE($xml); + } + + private function parseBodyXML($xmlstr) + { + //try { + $xml = new SimpleXMLElement($xmlstr); + $name = $xml->getName(); + if (substr($name, -3, 3) != "_PI") { + throw new RODSException("RODSMessage::parseMainBodyXML failed! " . + "The XML node's name is unexpected:$name " . + " expecting some thing like xxx_PI", + "SYS_PACK_INSTRUCT_FORMAT_ERR"); + } + $rp_classname = "RP_" . substr($name, 0, strlen($name) - 3); + $this->msg = new $rp_classname(); + $this->msg->fromSXE($xml); + + /*} catch (Exception $e) { + throw new RODSException("RODSMessage::parseMainBodyXML failed! ". + "Mal formated XML in RODS message :". + $xmlstr, + "SYS_PACK_INSTRUCT_FORMAT_ERR",$e); + } + */ + } + + public function getBody() + { + return $this->msg; + } + + public function getBinstr() + { + return $this->binstr; + } + + public function getXML() + { + return $this->header_xml . "\n" . $this->msg_xml; + } + + public static function packConnectMsg($user, $zone, $relVersion = RODS_REL_VERSION, + $apiVersion = RODS_API_VERSION, $option = NULL) + { + $msgbody = new RP_StartupPack($user, $zone, $relVersion, $apiVersion . $option); + $rods_msg = new RODSMessage("RODS_CONNECT_T", $msgbody); + return $rods_msg->pack(); + } +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/RODSMeta.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/RODSMeta.class.php new file mode 100644 index 0000000000000000000000000000000000000000..55d48af19d2622e7d2d821e56285905d774e5092 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/RODSMeta.class.php @@ -0,0 +1,21 @@ +name = $name; + $this->value = $value; + $this->units = $units; + $this->id = $id; + $this->op = $op; + } + +} + \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/RODSObjIOOpr.inc.php b/apps/files_external/3rdparty/irodsphp/prods/src/RODSObjIOOpr.inc.php new file mode 100644 index 0000000000000000000000000000000000000000..95807d12ea8d3ba89f4b440ef2265be4d3bfcbef --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/RODSObjIOOpr.inc.php @@ -0,0 +1,20 @@ + \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/RODSQueryCondition.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/RODSQueryCondition.class.php new file mode 100644 index 0000000000000000000000000000000000000000..ecc0282065697ef0d6d1600d038b42a3adf89227 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/RODSQueryCondition.class.php @@ -0,0 +1,22 @@ +name = $name; + $this->value = $value; + $this->op = $op; + } + + public function __toString() + { + return "$this->name $this->op '$this->value'"; + } + +} + \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/RodsAPINum.inc.php b/apps/files_external/3rdparty/irodsphp/prods/src/RodsAPINum.inc.php new file mode 100644 index 0000000000000000000000000000000000000000..c4e2c031174ecb1589089138cfb6339ca96236d1 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/RodsAPINum.inc.php @@ -0,0 +1,217 @@ + '500', + 'FILE_OPEN_AN' => '501', + 'FILE_WRITE_AN' => '502', + 'FILE_CLOSE_AN' => '503', + 'FILE_LSEEK_AN' => '504', + 'FILE_READ_AN' => '505', + 'FILE_UNLINK_AN' => '506', + 'FILE_MKDIR_AN' => '507', + 'FILE_CHMOD_AN' => '508', + 'FILE_RMDIR_AN' => '509', + 'FILE_STAT_AN' => '510', + 'FILE_FSTAT_AN' => '511', + 'FILE_FSYNC_AN' => '512', + 'FILE_STAGE_AN' => '513', + 'FILE_GET_FS_FREE_SPACE_AN' => '514', + 'FILE_OPENDIR_AN' => '515', + 'FILE_CLOSEDIR_AN' => '516', + 'FILE_READDIR_AN' => '517', + 'FILE_PUT_AN' => '518', + 'FILE_GET_AN' => '519', + 'FILE_CHKSUM_AN' => '520', + 'CHK_N_V_PATH_PERM_AN' => '521', + 'FILE_RENAME_AN' => '522', + 'FILE_TRUNCATE_AN' => '523', + 'DATA_OBJ_CREATE_AN' => '601', + 'DATA_OBJ_OPEN_AN' => '602', + 'DATA_OBJ_READ_AN' => '603', + 'DATA_OBJ_WRITE_AN' => '604', + 'DATA_OBJ_CLOSE_AN' => '605', + 'DATA_OBJ_PUT_AN' => '606', + 'DATA_PUT_AN' => '607', + 'DATA_OBJ_GET_AN' => '608', + 'DATA_GET_AN' => '609', + 'DATA_OBJ_REPL_AN' => '610', + 'DATA_COPY_AN' => '611', + 'DATA_OBJ_LSEEK_AN' => '612', + 'DATA_OBJ_COPY_AN' => '613', + 'SIMPLE_QUERY_AN' => '614', + 'DATA_OBJ_UNLINK_AN' => '615', + 'COLL_CREATE_AN' => '616', + 'RM_COLL_OLD_AN' => '617', + 'REG_COLL_AN' => '618', + 'REG_DATA_OBJ_AN' => '619', + 'UNREG_DATA_OBJ_AN' => '620', + 'REG_REPLICA_AN' => '621', + 'MOD_DATA_OBJ_META_AN' => '622', + 'RULE_EXEC_SUBMIT_AN' => '623', + 'RULE_EXEC_DEL_AN' => '624', + 'EXEC_MY_RULE_AN' => '625', + 'OPR_COMPLETE_AN' => '626', + 'DATA_OBJ_RENAME_AN' => '627', + 'DATA_OBJ_RSYNC_AN' => '628', + 'DATA_OBJ_CHKSUM_AN' => '629', + 'PHY_PATH_REG_AN' => '630', + 'DATA_OBJ_PHYMV_AN' => '631', + 'DATA_OBJ_TRIM_AN' => '632', + 'OBJ_STAT_AN' => '633', + 'EXEC_CMD_AN' => '634', + 'SUB_STRUCT_FILE_CREATE_AN' => '635', + 'SUB_STRUCT_FILE_OPEN_AN' => '636', + 'SUB_STRUCT_FILE_READ_AN' => '637', + 'SUB_STRUCT_FILE_WRITE_AN' => '638', + 'SUB_STRUCT_FILE_CLOSE_AN' => '639', + 'SUB_STRUCT_FILE_UNLINK_AN' => '640', + 'SUB_STRUCT_FILE_STAT_AN' => '641', + 'SUB_STRUCT_FILE_FSTAT_AN' => '642', + 'SUB_STRUCT_FILE_LSEEK_AN' => '643', + 'SUB_STRUCT_FILE_RENAME_AN' => '644', + 'QUERY_SPEC_COLL_AN' => '645', + 'MOD_COLL_AN' => '646', + 'SUB_STRUCT_FILE_MKDIR_AN' => '647', + 'SUB_STRUCT_FILE_RMDIR_AN' => '648', + 'SUB_STRUCT_FILE_OPENDIR_AN' => '649', + 'SUB_STRUCT_FILE_READDIR_AN' => '650', + 'SUB_STRUCT_FILE_CLOSEDIR_AN' => '651', + 'DATA_OBJ_TRUNCATE_AN' => '652', + 'SUB_STRUCT_FILE_TRUNCATE_AN' => '653', + 'GET_XMSG_TICKET_AN' => '654', + 'SEND_XMSG_AN' => '655', + 'RCV_XMSG_AN' => '656', + 'SUB_STRUCT_FILE_GET_AN' => '657', + 'SUB_STRUCT_FILE_PUT_AN' => '658', + 'SYNC_MOUNTED_COLL_AN' => '659', + 'STRUCT_FILE_SYNC_AN' => '660', + 'CLOSE_COLLECTION_AN' => '661', + 'COLL_REPL_AN' => '662', + 'RM_COLL_AN' => '663', + 'GET_MISC_SVR_INFO_AN' => '700', + 'GENERAL_ADMIN_AN' => '701', + 'GEN_QUERY_AN' => '702', + 'AUTH_REQUEST_AN' => '703', + 'AUTH_RESPONSE_AN' => '704', + 'AUTH_CHECK_AN' => '705', + 'MOD_AVU_METADATA_AN' => '706', + 'MOD_ACCESS_CONTROL_AN' => '707', + 'RULE_EXEC_MOD_AN' => '708', + 'GET_TEMP_PASSWORD_AN' => '709', + 'GENERAL_UPDATE_AN' => '710', + 'GSI_AUTH_REQUEST_AN' => '711', + 'OPEN_COLLECTION_AN' => '712', + 'READ_COLLECTION_AN' => '713', + 'PAM_AUTH_REQUEST_AN' => '725', + 'SSL_START_AN' => '1100', + 'SSL_END_AN' => '1101', +); +$GLOBALS['PRODS_API_NUMS_REV'] = array( + '500' => 'FILE_CREATE_AN', + '501' => 'FILE_OPEN_AN', + '502' => 'FILE_WRITE_AN', + '503' => 'FILE_CLOSE_AN', + '504' => 'FILE_LSEEK_AN', + '505' => 'FILE_READ_AN', + '506' => 'FILE_UNLINK_AN', + '507' => 'FILE_MKDIR_AN', + '508' => 'FILE_CHMOD_AN', + '509' => 'FILE_RMDIR_AN', + '510' => 'FILE_STAT_AN', + '511' => 'FILE_FSTAT_AN', + '512' => 'FILE_FSYNC_AN', + '513' => 'FILE_STAGE_AN', + '514' => 'FILE_GET_FS_FREE_SPACE_AN', + '515' => 'FILE_OPENDIR_AN', + '516' => 'FILE_CLOSEDIR_AN', + '517' => 'FILE_READDIR_AN', + '518' => 'FILE_PUT_AN', + '519' => 'FILE_GET_AN', + '520' => 'FILE_CHKSUM_AN', + '521' => 'CHK_N_V_PATH_PERM_AN', + '522' => 'FILE_RENAME_AN', + '523' => 'FILE_TRUNCATE_AN', + '601' => 'DATA_OBJ_CREATE_AN', + '602' => 'DATA_OBJ_OPEN_AN', + '603' => 'DATA_OBJ_READ_AN', + '604' => 'DATA_OBJ_WRITE_AN', + '605' => 'DATA_OBJ_CLOSE_AN', + '606' => 'DATA_OBJ_PUT_AN', + '607' => 'DATA_PUT_AN', + '608' => 'DATA_OBJ_GET_AN', + '609' => 'DATA_GET_AN', + '610' => 'DATA_OBJ_REPL_AN', + '611' => 'DATA_COPY_AN', + '612' => 'DATA_OBJ_LSEEK_AN', + '613' => 'DATA_OBJ_COPY_AN', + '614' => 'SIMPLE_QUERY_AN', + '615' => 'DATA_OBJ_UNLINK_AN', + '616' => 'COLL_CREATE_AN', + '617' => 'RM_COLL_OLD_AN', + '618' => 'REG_COLL_AN', + '619' => 'REG_DATA_OBJ_AN', + '620' => 'UNREG_DATA_OBJ_AN', + '621' => 'REG_REPLICA_AN', + '622' => 'MOD_DATA_OBJ_META_AN', + '623' => 'RULE_EXEC_SUBMIT_AN', + '624' => 'RULE_EXEC_DEL_AN', + '625' => 'EXEC_MY_RULE_AN', + '626' => 'OPR_COMPLETE_AN', + '627' => 'DATA_OBJ_RENAME_AN', + '628' => 'DATA_OBJ_RSYNC_AN', + '629' => 'DATA_OBJ_CHKSUM_AN', + '630' => 'PHY_PATH_REG_AN', + '631' => 'DATA_OBJ_PHYMV_AN', + '632' => 'DATA_OBJ_TRIM_AN', + '633' => 'OBJ_STAT_AN', + '634' => 'EXEC_CMD_AN', + '635' => 'SUB_STRUCT_FILE_CREATE_AN', + '636' => 'SUB_STRUCT_FILE_OPEN_AN', + '637' => 'SUB_STRUCT_FILE_READ_AN', + '638' => 'SUB_STRUCT_FILE_WRITE_AN', + '639' => 'SUB_STRUCT_FILE_CLOSE_AN', + '640' => 'SUB_STRUCT_FILE_UNLINK_AN', + '641' => 'SUB_STRUCT_FILE_STAT_AN', + '642' => 'SUB_STRUCT_FILE_FSTAT_AN', + '643' => 'SUB_STRUCT_FILE_LSEEK_AN', + '644' => 'SUB_STRUCT_FILE_RENAME_AN', + '645' => 'QUERY_SPEC_COLL_AN', + '646' => 'MOD_COLL_AN', + '647' => 'SUB_STRUCT_FILE_MKDIR_AN', + '648' => 'SUB_STRUCT_FILE_RMDIR_AN', + '649' => 'SUB_STRUCT_FILE_OPENDIR_AN', + '650' => 'SUB_STRUCT_FILE_READDIR_AN', + '651' => 'SUB_STRUCT_FILE_CLOSEDIR_AN', + '652' => 'DATA_OBJ_TRUNCATE_AN', + '653' => 'SUB_STRUCT_FILE_TRUNCATE_AN', + '654' => 'GET_XMSG_TICKET_AN', + '655' => 'SEND_XMSG_AN', + '656' => 'RCV_XMSG_AN', + '657' => 'SUB_STRUCT_FILE_GET_AN', + '658' => 'SUB_STRUCT_FILE_PUT_AN', + '659' => 'SYNC_MOUNTED_COLL_AN', + '660' => 'STRUCT_FILE_SYNC_AN', + '661' => 'CLOSE_COLLECTION_AN', + '662' => 'COLL_REPL_AN', + '663' => 'RM_COLL_AN', + '700' => 'GET_MISC_SVR_INFO_AN', + '701' => 'GENERAL_ADMIN_AN', + '702' => 'GEN_QUERY_AN', + '703' => 'AUTH_REQUEST_AN', + '704' => 'AUTH_RESPONSE_AN', + '705' => 'AUTH_CHECK_AN', + '706' => 'MOD_AVU_METADATA_AN', + '707' => 'MOD_ACCESS_CONTROL_AN', + '708' => 'RULE_EXEC_MOD_AN', + '709' => 'GET_TEMP_PASSWORD_AN', + '710' => 'GENERAL_UPDATE_AN', + '711' => 'GSI_AUTH_REQUEST_AN', + '712' => 'OPEN_COLLECTION_AN', + '713' => 'READ_COLLECTION_AN', + '725' => 'PAM_AUTH_REQUEST_AN', + '1100' => 'SSL_START_AN', + '1101' => 'SSL_END_AN', +); +?> diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/RodsConst.inc.php b/apps/files_external/3rdparty/irodsphp/prods/src/RodsConst.inc.php new file mode 100644 index 0000000000000000000000000000000000000000..1d51f619197a287eacb0de25bc491ffa57254aad --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/RodsConst.inc.php @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/RodsErrorTable.inc.php b/apps/files_external/3rdparty/irodsphp/prods/src/RodsErrorTable.inc.php new file mode 100644 index 0000000000000000000000000000000000000000..7c4bb170d4a631a985f6e5f580055fa863799e26 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/RodsErrorTable.inc.php @@ -0,0 +1,587 @@ + '-1000', + 'SYS_SOCK_BIND_ERR' => '-2000', + 'SYS_SOCK_ACCEPT_ERR' => '-3000', + 'SYS_HEADER_READ_LEN_ERR' => '-4000', + 'SYS_HEADER_WRITE_LEN_ERR' => '-5000', + 'SYS_HEADER_TPYE_LEN_ERR' => '-6000', + 'SYS_CAUGHT_SIGNAL' => '-7000', + 'SYS_GETSTARTUP_PACK_ERR' => '-8000', + 'SYS_EXCEED_CONNECT_CNT' => '-9000', + 'SYS_USER_NOT_ALLOWED_TO_CONN' => '-10000', + 'SYS_READ_MSG_BODY_INPUT_ERR' => '-11000', + 'SYS_UNMATCHED_API_NUM' => '-12000', + 'SYS_NO_API_PRIV' => '-13000', + 'SYS_API_INPUT_ERR' => '-14000', + 'SYS_PACK_INSTRUCT_FORMAT_ERR' => '-15000', + 'SYS_MALLOC_ERR' => '-16000', + 'SYS_GET_HOSTNAME_ERR' => '-17000', + 'SYS_OUT_OF_FILE_DESC' => '-18000', + 'SYS_FILE_DESC_OUT_OF_RANGE' => '-19000', + 'SYS_UNRECOGNIZED_REMOTE_FLAG' => '-20000', + 'SYS_INVALID_SERVER_HOST' => '-21000', + 'SYS_SVR_TO_SVR_CONNECT_FAILED' => '-22000', + 'SYS_BAD_FILE_DESCRIPTOR' => '-23000', + 'SYS_INTERNAL_NULL_INPUT_ERR' => '-24000', + 'SYS_CONFIG_FILE_ERR' => '-25000', + 'SYS_INVALID_ZONE_NAME' => '-26000', + 'SYS_COPY_LEN_ERR' => '-27000', + 'SYS_PORT_COOKIE_ERR' => '-28000', + 'SYS_KEY_VAL_TABLE_ERR' => '-29000', + 'SYS_INVALID_RESC_TYPE' => '-30000', + 'SYS_INVALID_FILE_PATH' => '-31000', + 'SYS_INVALID_RESC_INPUT' => '-32000', + 'SYS_INVALID_PORTAL_OPR' => '-33000', + 'SYS_PARA_OPR_NO_SUPPORT' => '-34000', + 'SYS_INVALID_OPR_TYPE' => '-35000', + 'SYS_NO_PATH_PERMISSION' => '-36000', + 'SYS_NO_ICAT_SERVER_ERR' => '-37000', + 'SYS_AGENT_INIT_ERR' => '-38000', + 'SYS_PROXYUSER_NO_PRIV' => '-39000', + 'SYS_NO_DATA_OBJ_PERMISSION' => '-40000', + 'SYS_DELETE_DISALLOWED' => '-41000', + 'SYS_OPEN_REI_FILE_ERR' => '-42000', + 'SYS_NO_RCAT_SERVER_ERR' => '-43000', + 'SYS_UNMATCH_PACK_INSTRUCTI_NAME' => '-44000', + 'SYS_SVR_TO_CLI_MSI_NO_EXIST' => '-45000', + 'SYS_COPY_ALREADY_IN_RESC' => '-46000', + 'SYS_RECONN_OPR_MISMATCH' => '-47000', + 'SYS_INPUT_PERM_OUT_OF_RANGE' => '-48000', + 'SYS_FORK_ERROR' => '-49000', + 'SYS_PIPE_ERROR' => '-50000', + 'SYS_EXEC_CMD_STATUS_SZ_ERROR' => '-51000', + 'SYS_PATH_IS_NOT_A_FILE' => '-52000', + 'SYS_UNMATCHED_SPEC_COLL_TYPE' => '-53000', + 'SYS_TOO_MANY_QUERY_RESULT' => '-54000', + 'USER_AUTH_SCHEME_ERR' => '-300000', + 'USER_AUTH_STRING_EMPTY' => '-301000', + 'USER_RODS_HOST_EMPTY' => '-302000', + 'USER_RODS_HOSTNAME_ERR' => '-303000', + 'USER_SOCK_OPEN_ERR' => '-304000', + 'USER_SOCK_CONNECT_ERR' => '-305000', + 'USER_STRLEN_TOOLONG' => '-306000', + 'USER_API_INPUT_ERR' => '-307000', + 'USER_PACKSTRUCT_INPUT_ERR' => '-308000', + 'USER_NO_SUPPORT_ERR' => '-309000', + 'USER_FILE_DOES_NOT_EXIST' => '-310000', + 'USER_FILE_TOO_LARGE' => '-311000', + 'OVERWITE_WITHOUT_FORCE_FLAG' => '-312000', + 'UNMATCHED_KEY_OR_INDEX' => '-313000', + 'USER_CHKSUM_MISMATCH' => '-314000', + 'USER_BAD_KEYWORD_ERR' => '-315000', + 'USER__NULL_INPUT_ERR' => '-316000', + 'USER_INPUT_PATH_ERR' => '-317000', + 'USER_INPUT_OPTION_ERR' => '-318000', + 'USER_INVALID_USERNAME_FORMAT' => '-319000', + 'USER_DIRECT_RESC_INPUT_ERR' => '-320000', + 'USER_NO_RESC_INPUT_ERR' => '-321000', + 'USER_PARAM_LABEL_ERR' => '-322000', + 'USER_PARAM_TYPE_ERR' => '-323000', + 'BASE64_BUFFER_OVERFLOW' => '-324000', + 'BASE64_INVALID_PACKET' => '-325000', + 'USER_MSG_TYPE_NO_SUPPORT' => '-326000', + 'USER_RSYNC_NO_MODE_INPUT_ERR' => '-337000', + 'USER_OPTION_INPUT_ERR' => '-338000', + 'SAME_SRC_DEST_PATHS_ERR' => '-339000', + 'USER_RESTART_FILE_INPUT_ERR' => '-340000', + 'RESTART_OPR_FAILED' => '-341000', + 'BAD_EXEC_CMD_PATH' => '-342000', + 'EXEC_CMD_OUTPUT_TOO_LARGE' => '-343000', + 'EXEC_CMD_ERROR' => '-344000', + 'FILE_INDEX_LOOKUP_ERR' => '-500000', + 'UNIX_FILE_OPEN_ERR' => '-510000', + 'UNIX_FILE_OPEN_ERR_1' => '-510001', + 'UNIX_FILE_OPEN_ERR_2' => '-510002', + 'UNIX_FILE_CREATE_ERR' => '-511000', + 'UNIX_FILE_READ_ERR' => '-512000', + 'UNIX_FILE_WRITE_ERR' => '-513000', + 'UNIX_FILE_CLOSE_ERR' => '-514000', + 'UNIX_FILE_UNLINK_ERR' => '-515000', + 'UNIX_FILE_STAT_ERR' => '-516000', + 'UNIX_FILE_FSTAT_ERR' => '-517000', + 'UNIX_FILE_LSEEK_ERR' => '-518000', + 'UNIX_FILE_FSYNC_ERR' => '-519000', + 'UNIX_FILE_MKDIR_ERR' => '-520000', + 'UNIX_FILE_RMDIR_ERR' => '-521000', + 'UNIX_FILE_OPENDIR_ERR' => '-522000', + 'UNIX_FILE_CLOSEDIR_ERR' => '-523000', + 'UNIX_FILE_READDIR_ERR' => '-524000', + 'UNIX_FILE_STAGE_ERR' => '-525000', + 'UNIX_FILE_GET_FS_FREESPACE_ERR' => '-526000', + 'UNIX_FILE_CHMOD_ERR' => '-527000', + 'UNIX_FILE_RENAME_ERR' => '-528000', + 'CATALOG_NOT_CONNECTED' => '-801000', + 'CAT_ENV_ERR' => '-802000', + 'CAT_CONNECT_ERR' => '-803000', + 'CAT_DISCONNECT_ERR' => '-804000', + 'CAT_CLOSE_ENV_ERR' => '-805000', + 'CAT_SQL_ERR' => '-806000', + 'CAT_GET_ROW_ERR' => '-807000', + 'CAT_NO_ROWS_FOUND' => '-808000', + 'CATALOG_ALREADY_HAS_ITEM_BY_THAT_NAME' => '-809000', + 'CAT_INVALID_RESOURCE_TYPE' => '-810000', + 'CAT_INVALID_RESOURCE_CLASS' => '-811000', + 'CAT_INVALID_RESOURCE_NET_ADDR' => '-812000', + 'CAT_INVALID_RESOURCE_VAULT_PATH' => '-813000', + 'CAT_UNKNOWN_COLLECTION' => '-814000', + 'CAT_INVALID_DATA_TYPE' => '-815000', + 'CAT_INVALID_ARGUMENT' => '-816000', + 'CAT_UNKNOWN_FILE' => '-817000', + 'CAT_NO_ACCESS_PERMISSION' => '-818000', + 'CAT_SUCCESS_BUT_WITH_NO_INFO' => '-819000', + 'CAT_INVALID_USER_TYPE' => '-820000', + 'CAT_COLLECTION_NOT_EMPTY' => '-821000', + 'CAT_TOO_MANY_TABLES' => '-822000', + 'CAT_UNKNOWN_TABLE' => '-823000', + 'CAT_NOT_OPEN' => '-824000', + 'CAT_FAILED_TO_LINK_TABLES' => '-825000', + 'CAT_INVALID_AUTHENTICATION' => '-826000', + 'CAT_INVALID_USER' => '-827000', + 'CAT_INVALID_ZONE' => '-828000', + 'CAT_INVALID_GROUP' => '-829000', + 'CAT_INSUFFICIENT_PRIVILEGE_LEVEL' => '-830000', + 'CAT_INVALID_RESOURCE' => '-831000', + 'CAT_INVALID_CLIENT_USER' => '-832000', + 'CAT_NAME_EXISTS_AS_COLLECTION' => '-833000', + 'CAT_NAME_EXISTS_AS_DATAOBJ' => '-834000', + 'CAT_RESOURCE_NOT_EMPTY' => '-835000', + 'CAT_NOT_A_DATAOBJ_AND_NOT_A_COLLECTION' => '-836000', + 'CAT_RECURSIVE_MOVE' => '-837000', + 'CAT_LAST_REPLICA' => '-838000', + 'CAT_OCI_ERROR' => '-839000', + 'CAT_PASSWORD_EXPIRED' => '-840000', + 'FILE_OPEN_ERR' => '-900000', + 'FILE_READ_ERR' => '-901000', + 'FILE_WRITE_ERR' => '-902000', + 'PASSWORD_EXCEEDS_MAX_SIZE' => '-903000', + 'ENVIRONMENT_VAR_HOME_NOT_DEFINED' => '-904000', + 'UNABLE_TO_STAT_FILE' => '-905000', + 'AUTH_FILE_NOT_ENCRYPTED' => '-906000', + 'AUTH_FILE_DOES_NOT_EXIST' => '-907000', + 'UNLINK_FAILED' => '-908000', + 'NO_PASSWORD_ENTERED' => '-909000', + 'OBJPATH_EMPTY_IN_STRUCT_ERR' => '-1000000', + 'RESCNAME_EMPTY_IN_STRUCT_ERR' => '-1001000', + 'DATATYPE_EMPTY_IN_STRUCT_ERR' => '-1002000', + 'DATASIZE_EMPTY_IN_STRUCT_ERR' => '-1003000', + 'CHKSUM_EMPTY_IN_STRUCT_ERR' => '-1004000', + 'VERSION_EMPTY_IN_STRUCT_ERR' => '-1005000', + 'FILEPATH_EMPTY_IN_STRUCT_ERR' => '-1006000', + 'REPLNUM_EMPTY_IN_STRUCT_ERR' => '-1007000', + 'REPLSTATUS_EMPTY_IN_STRUCT_ERR' => '-1008000', + 'DATAOWNER_EMPTY_IN_STRUCT_ERR' => '-1009000', + 'DATAOWNERZONE_EMPTY_IN_STRUCT_ERR' => '-1010000', + 'DATAEXPIRY_EMPTY_IN_STRUCT_ERR' => '-1011000', + 'DATACOMMENTS_EMPTY_IN_STRUCT_ERR' => '-1012000', + 'DATACREATE_EMPTY_IN_STRUCT_ERR' => '-1013000', + 'DATAMODIFY_EMPTY_IN_STRUCT_ERR' => '-1014000', + 'DATAACCESS_EMPTY_IN_STRUCT_ERR' => '-1015000', + 'DATAACCESSINX_EMPTY_IN_STRUCT_ERR' => '-1016000', + 'NO_RULE_FOUND_ERR' => '-1017000', + 'NO_MORE_RULES_ERR' => '-1018000', + 'UNMATCHED_ACTION_ERR' => '-1019000', + 'RULES_FILE_READ_ERROR' => '-1020000', + 'ACTION_ARG_COUNT_MISMATCH' => '-1021000', + 'MAX_NUM_OF_ARGS_IN_ACTION_EXCEEDED' => '-1022000', + 'UNKNOWN_PARAM_IN_RULE_ERR' => '-1023000', + 'DESTRESCNAME_EMPTY_IN_STRUCT_ERR' => '-1024000', + 'BACKUPRESCNAME_EMPTY_IN_STRUCT_ERR' => '-1025000', + 'DATAID_EMPTY_IN_STRUCT_ERR' => '-1026000', + 'COLLID_EMPTY_IN_STRUCT_ERR' => '-1027000', + 'RESCGROUPNAME_EMPTY_IN_STRUCT_ERR' => '-1028000', + 'STATUSSTRING_EMPTY_IN_STRUCT_ERR' => '-1029000', + 'DATAMAPID_EMPTY_IN_STRUCT_ERR' => '-1030000', + 'USERNAMECLIENT_EMPTY_IN_STRUCT_ERR' => '-1031000', + 'RODSZONECLIENT_EMPTY_IN_STRUCT_ERR' => '-1032000', + 'USERTYPECLIENT_EMPTY_IN_STRUCT_ERR' => '-1033000', + 'HOSTCLIENT_EMPTY_IN_STRUCT_ERR' => '-1034000', + 'AUTHSTRCLIENT_EMPTY_IN_STRUCT_ERR' => '-1035000', + 'USERAUTHSCHEMECLIENT_EMPTY_IN_STRUCT_ERR' => '-1036000', + 'USERINFOCLIENT_EMPTY_IN_STRUCT_ERR' => '-1037000', + 'USERCOMMENTCLIENT_EMPTY_IN_STRUCT_ERR' => '-1038000', + 'USERCREATECLIENT_EMPTY_IN_STRUCT_ERR' => '-1039000', + 'USERMODIFYCLIENT_EMPTY_IN_STRUCT_ERR' => '-1040000', + 'USERNAMEPROXY_EMPTY_IN_STRUCT_ERR' => '-1041000', + 'RODSZONEPROXY_EMPTY_IN_STRUCT_ERR' => '-1042000', + 'USERTYPEPROXY_EMPTY_IN_STRUCT_ERR' => '-1043000', + 'HOSTPROXY_EMPTY_IN_STRUCT_ERR' => '-1044000', + 'AUTHSTRPROXY_EMPTY_IN_STRUCT_ERR' => '-1045000', + 'USERAUTHSCHEMEPROXY_EMPTY_IN_STRUCT_ERR' => '-1046000', + 'USERINFOPROXY_EMPTY_IN_STRUCT_ERR' => '-1047000', + 'USERCOMMENTPROXY_EMPTY_IN_STRUCT_ERR' => '-1048000', + 'USERCREATEPROXY_EMPTY_IN_STRUCT_ERR' => '-1049000', + 'USERMODIFYPROXY_EMPTY_IN_STRUCT_ERR' => '-1050000', + 'COLLNAME_EMPTY_IN_STRUCT_ERR' => '-1051000', + 'COLLPARENTNAME_EMPTY_IN_STRUCT_ERR' => '-1052000', + 'COLLOWNERNAME_EMPTY_IN_STRUCT_ERR' => '-1053000', + 'COLLOWNERZONE_EMPTY_IN_STRUCT_ERR' => '-1054000', + 'COLLEXPIRY_EMPTY_IN_STRUCT_ERR' => '-1055000', + 'COLLCOMMENTS_EMPTY_IN_STRUCT_ERR' => '-1056000', + 'COLLCREATE_EMPTY_IN_STRUCT_ERR' => '-1057000', + 'COLLMODIFY_EMPTY_IN_STRUCT_ERR' => '-1058000', + 'COLLACCESS_EMPTY_IN_STRUCT_ERR' => '-1059000', + 'COLLACCESSINX_EMPTY_IN_STRUCT_ERR' => '-1060000', + 'COLLMAPID_EMPTY_IN_STRUCT_ERR' => '-1062000', + 'COLLINHERITANCE_EMPTY_IN_STRUCT_ERR' => '-1063000', + 'RESCZONE_EMPTY_IN_STRUCT_ERR' => '-1065000', + 'RESCLOC_EMPTY_IN_STRUCT_ERR' => '-1066000', + 'RESCTYPE_EMPTY_IN_STRUCT_ERR' => '-1067000', + 'RESCTYPEINX_EMPTY_IN_STRUCT_ERR' => '-1068000', + 'RESCCLASS_EMPTY_IN_STRUCT_ERR' => '-1069000', + 'RESCCLASSINX_EMPTY_IN_STRUCT_ERR' => '-1070000', + 'RESCVAULTPATH_EMPTY_IN_STRUCT_ERR' => '-1071000', + 'NUMOPEN_ORTS_EMPTY_IN_STRUCT_ERR' => '-1072000', + 'PARAOPR_EMPTY_IN_STRUCT_ERR' => '-1073000', + 'RESCID_EMPTY_IN_STRUCT_ERR' => '-1074000', + 'GATEWAYADDR_EMPTY_IN_STRUCT_ERR' => '-1075000', + 'RESCMAX_BJSIZE_EMPTY_IN_STRUCT_ERR' => '-1076000', + 'FREESPACE_EMPTY_IN_STRUCT_ERR' => '-1077000', + 'FREESPACETIME_EMPTY_IN_STRUCT_ERR' => '-1078000', + 'FREESPACETIMESTAMP_EMPTY_IN_STRUCT_ERR' => '-1079000', + 'RESCINFO_EMPTY_IN_STRUCT_ERR' => '-1080000', + 'RESCCOMMENTS_EMPTY_IN_STRUCT_ERR' => '-1081000', + 'RESCCREATE_EMPTY_IN_STRUCT_ERR' => '-1082000', + 'RESCMODIFY_EMPTY_IN_STRUCT_ERR' => '-1083000', + 'INPUT_ARG_NOT_WELL_FORMED_ERR' => '-1084000', + 'INPUT_ARG_OUT_OF_ARGC_RANGE_ERR' => '-1085000', + 'INSUFFICIENT_INPUT_ARG_ERR' => '-1086000', + 'INPUT_ARG_DOES_NOT_MATCH_ERR' => '-1087000', + 'RETRY_WITHOUT_RECOVERY_ERR' => '-1088000', + 'CUT_ACTION_PROCESSED_ERR' => '-1089000', + 'ACTION_FAILED_ERR' => '-1090000', + 'FAIL_ACTION_ENCOUNTERED_ERR' => '-1091000', + 'VARIABLE_NAME_TOO_LONG_ERR' => '-1092000', + 'UNKNOWN_VARIABLE_MAP_ERR' => '-1093000', + 'UNDEFINED_VARIABLE_MAP_ERR' => '-1094000', + 'NULL_VALUE_ERR' => '-1095000', + 'DVARMAP_FILE_READ_ERROR' => '-1096000', + 'NO_RULE_OR_MSI_FUNCTION_FOUND_ERR' => '-1097000', + 'FILE_CREATE_ERROR' => '-1098000', + 'FMAP_FILE_READ_ERROR' => '-1099000', + 'DATE_FORMAT_ERR' => '-1100000', + 'RULE_FAILED_ERR' => '-1101000', + 'NO_MICROSERVICE_FOUND_ERR' => '-1102000', + 'INVALID_REGEXP' => '-1103000', + 'INVALID_OBJECT_NAME' => '-1104000', + 'INVALID_OBJECT_TYPE' => '-1105000', + 'NO_VALUES_FOUND' => '-1106000', + 'NO_COLUMN_NAME_FOUND' => '-1107000', + 'SYS_NULL_INPUT' => '-99999996', + 'SYS_HANDLER_DONE_WITH_ERROR' => '-99999997', + 'SYS_HANDLER_DONE_NO_ERROR' => '-99999998', + 'SYS_NO_HANDLER_REPLY_MSG' => '-99999999', + 'GENERAL_PRODS_ERR' => '-3000000', + 'PERR_INTERNAL_ERR' => '-3100000', + 'PERR_UNEXPECTED_PACKET_FORMAT' => '-3101000', + 'PERR_PATH_DOES_NOT_EXISTS' => '-3102000', + 'PERR_UNSUPPORTED_PROTOCOL_SCHEME' => '-3103000', + 'PERR_USER_INPUT_ERROR' => '-3104000', + 'PERR_USER_INPUT_PATH_ERROR' => '-3105000', + 'PERR_CONN_NOT_ACTIVE' => '-3106000', + 'SSL_NOT_BUILT_INTO_CLIENT' => '-2100000', + 'SSL_NOT_BUILT_INTO_SERVER' => '-2101000', + 'SSL_INIT_ERROR' => '-2102000', + 'SSL_HANDSHAKE_ERROR' => '-2103000', + 'SSL_SHUTDOWN_ERROR' => '-2104000', + 'SSL_CERT_ERROR' => '-2105000', + 'PAM_AUTH_NOT_BUILT_INTO_CLIENT' => '-991000', + 'PAM_AUTH_NOT_BUILT_INTO_SERVER' => '-992000', + 'PAM_AUTH_PASSWORD_FAILED' => '-993000', + 'PAM_AUTH_PASSWORD_INVALID_TTL' => '-994000', +); +$GLOBALS['PRODS_ERR_CODES_REV'] = array( + '-1000' => 'SYS_SOCK_OPEN_ERR', + '-2000' => 'SYS_SOCK_BIND_ERR', + '-3000' => 'SYS_SOCK_ACCEPT_ERR', + '-4000' => 'SYS_HEADER_READ_LEN_ERR', + '-5000' => 'SYS_HEADER_WRITE_LEN_ERR', + '-6000' => 'SYS_HEADER_TPYE_LEN_ERR', + '-7000' => 'SYS_CAUGHT_SIGNAL', + '-8000' => 'SYS_GETSTARTUP_PACK_ERR', + '-9000' => 'SYS_EXCEED_CONNECT_CNT', + '-10000' => 'SYS_USER_NOT_ALLOWED_TO_CONN', + '-11000' => 'SYS_READ_MSG_BODY_INPUT_ERR', + '-12000' => 'SYS_UNMATCHED_API_NUM', + '-13000' => 'SYS_NO_API_PRIV', + '-14000' => 'SYS_API_INPUT_ERR', + '-15000' => 'SYS_PACK_INSTRUCT_FORMAT_ERR', + '-16000' => 'SYS_MALLOC_ERR', + '-17000' => 'SYS_GET_HOSTNAME_ERR', + '-18000' => 'SYS_OUT_OF_FILE_DESC', + '-19000' => 'SYS_FILE_DESC_OUT_OF_RANGE', + '-20000' => 'SYS_UNRECOGNIZED_REMOTE_FLAG', + '-21000' => 'SYS_INVALID_SERVER_HOST', + '-22000' => 'SYS_SVR_TO_SVR_CONNECT_FAILED', + '-23000' => 'SYS_BAD_FILE_DESCRIPTOR', + '-24000' => 'SYS_INTERNAL_NULL_INPUT_ERR', + '-25000' => 'SYS_CONFIG_FILE_ERR', + '-26000' => 'SYS_INVALID_ZONE_NAME', + '-27000' => 'SYS_COPY_LEN_ERR', + '-28000' => 'SYS_PORT_COOKIE_ERR', + '-29000' => 'SYS_KEY_VAL_TABLE_ERR', + '-30000' => 'SYS_INVALID_RESC_TYPE', + '-31000' => 'SYS_INVALID_FILE_PATH', + '-32000' => 'SYS_INVALID_RESC_INPUT', + '-33000' => 'SYS_INVALID_PORTAL_OPR', + '-34000' => 'SYS_PARA_OPR_NO_SUPPORT', + '-35000' => 'SYS_INVALID_OPR_TYPE', + '-36000' => 'SYS_NO_PATH_PERMISSION', + '-37000' => 'SYS_NO_ICAT_SERVER_ERR', + '-38000' => 'SYS_AGENT_INIT_ERR', + '-39000' => 'SYS_PROXYUSER_NO_PRIV', + '-40000' => 'SYS_NO_DATA_OBJ_PERMISSION', + '-41000' => 'SYS_DELETE_DISALLOWED', + '-42000' => 'SYS_OPEN_REI_FILE_ERR', + '-43000' => 'SYS_NO_RCAT_SERVER_ERR', + '-44000' => 'SYS_UNMATCH_PACK_INSTRUCTI_NAME', + '-45000' => 'SYS_SVR_TO_CLI_MSI_NO_EXIST', + '-46000' => 'SYS_COPY_ALREADY_IN_RESC', + '-47000' => 'SYS_RECONN_OPR_MISMATCH', + '-48000' => 'SYS_INPUT_PERM_OUT_OF_RANGE', + '-49000' => 'SYS_FORK_ERROR', + '-50000' => 'SYS_PIPE_ERROR', + '-51000' => 'SYS_EXEC_CMD_STATUS_SZ_ERROR', + '-52000' => 'SYS_PATH_IS_NOT_A_FILE', + '-53000' => 'SYS_UNMATCHED_SPEC_COLL_TYPE', + '-54000' => 'SYS_TOO_MANY_QUERY_RESULT', + '-300000' => 'USER_AUTH_SCHEME_ERR', + '-301000' => 'USER_AUTH_STRING_EMPTY', + '-302000' => 'USER_RODS_HOST_EMPTY', + '-303000' => 'USER_RODS_HOSTNAME_ERR', + '-304000' => 'USER_SOCK_OPEN_ERR', + '-305000' => 'USER_SOCK_CONNECT_ERR', + '-306000' => 'USER_STRLEN_TOOLONG', + '-307000' => 'USER_API_INPUT_ERR', + '-308000' => 'USER_PACKSTRUCT_INPUT_ERR', + '-309000' => 'USER_NO_SUPPORT_ERR', + '-310000' => 'USER_FILE_DOES_NOT_EXIST', + '-311000' => 'USER_FILE_TOO_LARGE', + '-312000' => 'OVERWITE_WITHOUT_FORCE_FLAG', + '-313000' => 'UNMATCHED_KEY_OR_INDEX', + '-314000' => 'USER_CHKSUM_MISMATCH', + '-315000' => 'USER_BAD_KEYWORD_ERR', + '-316000' => 'USER__NULL_INPUT_ERR', + '-317000' => 'USER_INPUT_PATH_ERR', + '-318000' => 'USER_INPUT_OPTION_ERR', + '-319000' => 'USER_INVALID_USERNAME_FORMAT', + '-320000' => 'USER_DIRECT_RESC_INPUT_ERR', + '-321000' => 'USER_NO_RESC_INPUT_ERR', + '-322000' => 'USER_PARAM_LABEL_ERR', + '-323000' => 'USER_PARAM_TYPE_ERR', + '-324000' => 'BASE64_BUFFER_OVERFLOW', + '-325000' => 'BASE64_INVALID_PACKET', + '-326000' => 'USER_MSG_TYPE_NO_SUPPORT', + '-337000' => 'USER_RSYNC_NO_MODE_INPUT_ERR', + '-338000' => 'USER_OPTION_INPUT_ERR', + '-339000' => 'SAME_SRC_DEST_PATHS_ERR', + '-340000' => 'USER_RESTART_FILE_INPUT_ERR', + '-341000' => 'RESTART_OPR_FAILED', + '-342000' => 'BAD_EXEC_CMD_PATH', + '-343000' => 'EXEC_CMD_OUTPUT_TOO_LARGE', + '-344000' => 'EXEC_CMD_ERROR', + '-500000' => 'FILE_INDEX_LOOKUP_ERR', + '-510000' => 'UNIX_FILE_OPEN_ERR', + '-510001' => 'UNIX_FILE_OPEN_ERR_1', + '-510002' => 'UNIX_FILE_OPEN_ERR_2', + '-511000' => 'UNIX_FILE_CREATE_ERR', + '-512000' => 'UNIX_FILE_READ_ERR', + '-513000' => 'UNIX_FILE_WRITE_ERR', + '-514000' => 'UNIX_FILE_CLOSE_ERR', + '-515000' => 'UNIX_FILE_UNLINK_ERR', + '-516000' => 'UNIX_FILE_STAT_ERR', + '-517000' => 'UNIX_FILE_FSTAT_ERR', + '-518000' => 'UNIX_FILE_LSEEK_ERR', + '-519000' => 'UNIX_FILE_FSYNC_ERR', + '-520000' => 'UNIX_FILE_MKDIR_ERR', + '-521000' => 'UNIX_FILE_RMDIR_ERR', + '-522000' => 'UNIX_FILE_OPENDIR_ERR', + '-523000' => 'UNIX_FILE_CLOSEDIR_ERR', + '-524000' => 'UNIX_FILE_READDIR_ERR', + '-525000' => 'UNIX_FILE_STAGE_ERR', + '-526000' => 'UNIX_FILE_GET_FS_FREESPACE_ERR', + '-527000' => 'UNIX_FILE_CHMOD_ERR', + '-528000' => 'UNIX_FILE_RENAME_ERR', + '-801000' => 'CATALOG_NOT_CONNECTED', + '-802000' => 'CAT_ENV_ERR', + '-803000' => 'CAT_CONNECT_ERR', + '-804000' => 'CAT_DISCONNECT_ERR', + '-805000' => 'CAT_CLOSE_ENV_ERR', + '-806000' => 'CAT_SQL_ERR', + '-807000' => 'CAT_GET_ROW_ERR', + '-808000' => 'CAT_NO_ROWS_FOUND', + '-809000' => 'CATALOG_ALREADY_HAS_ITEM_BY_THAT_NAME', + '-810000' => 'CAT_INVALID_RESOURCE_TYPE', + '-811000' => 'CAT_INVALID_RESOURCE_CLASS', + '-812000' => 'CAT_INVALID_RESOURCE_NET_ADDR', + '-813000' => 'CAT_INVALID_RESOURCE_VAULT_PATH', + '-814000' => 'CAT_UNKNOWN_COLLECTION', + '-815000' => 'CAT_INVALID_DATA_TYPE', + '-816000' => 'CAT_INVALID_ARGUMENT', + '-817000' => 'CAT_UNKNOWN_FILE', + '-818000' => 'CAT_NO_ACCESS_PERMISSION', + '-819000' => 'CAT_SUCCESS_BUT_WITH_NO_INFO', + '-820000' => 'CAT_INVALID_USER_TYPE', + '-821000' => 'CAT_COLLECTION_NOT_EMPTY', + '-822000' => 'CAT_TOO_MANY_TABLES', + '-823000' => 'CAT_UNKNOWN_TABLE', + '-824000' => 'CAT_NOT_OPEN', + '-825000' => 'CAT_FAILED_TO_LINK_TABLES', + '-826000' => 'CAT_INVALID_AUTHENTICATION', + '-827000' => 'CAT_INVALID_USER', + '-828000' => 'CAT_INVALID_ZONE', + '-829000' => 'CAT_INVALID_GROUP', + '-830000' => 'CAT_INSUFFICIENT_PRIVILEGE_LEVEL', + '-831000' => 'CAT_INVALID_RESOURCE', + '-832000' => 'CAT_INVALID_CLIENT_USER', + '-833000' => 'CAT_NAME_EXISTS_AS_COLLECTION', + '-834000' => 'CAT_NAME_EXISTS_AS_DATAOBJ', + '-835000' => 'CAT_RESOURCE_NOT_EMPTY', + '-836000' => 'CAT_NOT_A_DATAOBJ_AND_NOT_A_COLLECTION', + '-837000' => 'CAT_RECURSIVE_MOVE', + '-838000' => 'CAT_LAST_REPLICA', + '-839000' => 'CAT_OCI_ERROR', + '-840000' => 'CAT_PASSWORD_EXPIRED', + '-900000' => 'FILE_OPEN_ERR', + '-901000' => 'FILE_READ_ERR', + '-902000' => 'FILE_WRITE_ERR', + '-903000' => 'PASSWORD_EXCEEDS_MAX_SIZE', + '-904000' => 'ENVIRONMENT_VAR_HOME_NOT_DEFINED', + '-905000' => 'UNABLE_TO_STAT_FILE', + '-906000' => 'AUTH_FILE_NOT_ENCRYPTED', + '-907000' => 'AUTH_FILE_DOES_NOT_EXIST', + '-908000' => 'UNLINK_FAILED', + '-909000' => 'NO_PASSWORD_ENTERED', + '-1000000' => 'OBJPATH_EMPTY_IN_STRUCT_ERR', + '-1001000' => 'RESCNAME_EMPTY_IN_STRUCT_ERR', + '-1002000' => 'DATATYPE_EMPTY_IN_STRUCT_ERR', + '-1003000' => 'DATASIZE_EMPTY_IN_STRUCT_ERR', + '-1004000' => 'CHKSUM_EMPTY_IN_STRUCT_ERR', + '-1005000' => 'VERSION_EMPTY_IN_STRUCT_ERR', + '-1006000' => 'FILEPATH_EMPTY_IN_STRUCT_ERR', + '-1007000' => 'REPLNUM_EMPTY_IN_STRUCT_ERR', + '-1008000' => 'REPLSTATUS_EMPTY_IN_STRUCT_ERR', + '-1009000' => 'DATAOWNER_EMPTY_IN_STRUCT_ERR', + '-1010000' => 'DATAOWNERZONE_EMPTY_IN_STRUCT_ERR', + '-1011000' => 'DATAEXPIRY_EMPTY_IN_STRUCT_ERR', + '-1012000' => 'DATACOMMENTS_EMPTY_IN_STRUCT_ERR', + '-1013000' => 'DATACREATE_EMPTY_IN_STRUCT_ERR', + '-1014000' => 'DATAMODIFY_EMPTY_IN_STRUCT_ERR', + '-1015000' => 'DATAACCESS_EMPTY_IN_STRUCT_ERR', + '-1016000' => 'DATAACCESSINX_EMPTY_IN_STRUCT_ERR', + '-1017000' => 'NO_RULE_FOUND_ERR', + '-1018000' => 'NO_MORE_RULES_ERR', + '-1019000' => 'UNMATCHED_ACTION_ERR', + '-1020000' => 'RULES_FILE_READ_ERROR', + '-1021000' => 'ACTION_ARG_COUNT_MISMATCH', + '-1022000' => 'MAX_NUM_OF_ARGS_IN_ACTION_EXCEEDED', + '-1023000' => 'UNKNOWN_PARAM_IN_RULE_ERR', + '-1024000' => 'DESTRESCNAME_EMPTY_IN_STRUCT_ERR', + '-1025000' => 'BACKUPRESCNAME_EMPTY_IN_STRUCT_ERR', + '-1026000' => 'DATAID_EMPTY_IN_STRUCT_ERR', + '-1027000' => 'COLLID_EMPTY_IN_STRUCT_ERR', + '-1028000' => 'RESCGROUPNAME_EMPTY_IN_STRUCT_ERR', + '-1029000' => 'STATUSSTRING_EMPTY_IN_STRUCT_ERR', + '-1030000' => 'DATAMAPID_EMPTY_IN_STRUCT_ERR', + '-1031000' => 'USERNAMECLIENT_EMPTY_IN_STRUCT_ERR', + '-1032000' => 'RODSZONECLIENT_EMPTY_IN_STRUCT_ERR', + '-1033000' => 'USERTYPECLIENT_EMPTY_IN_STRUCT_ERR', + '-1034000' => 'HOSTCLIENT_EMPTY_IN_STRUCT_ERR', + '-1035000' => 'AUTHSTRCLIENT_EMPTY_IN_STRUCT_ERR', + '-1036000' => 'USERAUTHSCHEMECLIENT_EMPTY_IN_STRUCT_ERR', + '-1037000' => 'USERINFOCLIENT_EMPTY_IN_STRUCT_ERR', + '-1038000' => 'USERCOMMENTCLIENT_EMPTY_IN_STRUCT_ERR', + '-1039000' => 'USERCREATECLIENT_EMPTY_IN_STRUCT_ERR', + '-1040000' => 'USERMODIFYCLIENT_EMPTY_IN_STRUCT_ERR', + '-1041000' => 'USERNAMEPROXY_EMPTY_IN_STRUCT_ERR', + '-1042000' => 'RODSZONEPROXY_EMPTY_IN_STRUCT_ERR', + '-1043000' => 'USERTYPEPROXY_EMPTY_IN_STRUCT_ERR', + '-1044000' => 'HOSTPROXY_EMPTY_IN_STRUCT_ERR', + '-1045000' => 'AUTHSTRPROXY_EMPTY_IN_STRUCT_ERR', + '-1046000' => 'USERAUTHSCHEMEPROXY_EMPTY_IN_STRUCT_ERR', + '-1047000' => 'USERINFOPROXY_EMPTY_IN_STRUCT_ERR', + '-1048000' => 'USERCOMMENTPROXY_EMPTY_IN_STRUCT_ERR', + '-1049000' => 'USERCREATEPROXY_EMPTY_IN_STRUCT_ERR', + '-1050000' => 'USERMODIFYPROXY_EMPTY_IN_STRUCT_ERR', + '-1051000' => 'COLLNAME_EMPTY_IN_STRUCT_ERR', + '-1052000' => 'COLLPARENTNAME_EMPTY_IN_STRUCT_ERR', + '-1053000' => 'COLLOWNERNAME_EMPTY_IN_STRUCT_ERR', + '-1054000' => 'COLLOWNERZONE_EMPTY_IN_STRUCT_ERR', + '-1055000' => 'COLLEXPIRY_EMPTY_IN_STRUCT_ERR', + '-1056000' => 'COLLCOMMENTS_EMPTY_IN_STRUCT_ERR', + '-1057000' => 'COLLCREATE_EMPTY_IN_STRUCT_ERR', + '-1058000' => 'COLLMODIFY_EMPTY_IN_STRUCT_ERR', + '-1059000' => 'COLLACCESS_EMPTY_IN_STRUCT_ERR', + '-1060000' => 'COLLACCESSINX_EMPTY_IN_STRUCT_ERR', + '-1062000' => 'COLLMAPID_EMPTY_IN_STRUCT_ERR', + '-1063000' => 'COLLINHERITANCE_EMPTY_IN_STRUCT_ERR', + '-1065000' => 'RESCZONE_EMPTY_IN_STRUCT_ERR', + '-1066000' => 'RESCLOC_EMPTY_IN_STRUCT_ERR', + '-1067000' => 'RESCTYPE_EMPTY_IN_STRUCT_ERR', + '-1068000' => 'RESCTYPEINX_EMPTY_IN_STRUCT_ERR', + '-1069000' => 'RESCCLASS_EMPTY_IN_STRUCT_ERR', + '-1070000' => 'RESCCLASSINX_EMPTY_IN_STRUCT_ERR', + '-1071000' => 'RESCVAULTPATH_EMPTY_IN_STRUCT_ERR', + '-1072000' => 'NUMOPEN_ORTS_EMPTY_IN_STRUCT_ERR', + '-1073000' => 'PARAOPR_EMPTY_IN_STRUCT_ERR', + '-1074000' => 'RESCID_EMPTY_IN_STRUCT_ERR', + '-1075000' => 'GATEWAYADDR_EMPTY_IN_STRUCT_ERR', + '-1076000' => 'RESCMAX_BJSIZE_EMPTY_IN_STRUCT_ERR', + '-1077000' => 'FREESPACE_EMPTY_IN_STRUCT_ERR', + '-1078000' => 'FREESPACETIME_EMPTY_IN_STRUCT_ERR', + '-1079000' => 'FREESPACETIMESTAMP_EMPTY_IN_STRUCT_ERR', + '-1080000' => 'RESCINFO_EMPTY_IN_STRUCT_ERR', + '-1081000' => 'RESCCOMMENTS_EMPTY_IN_STRUCT_ERR', + '-1082000' => 'RESCCREATE_EMPTY_IN_STRUCT_ERR', + '-1083000' => 'RESCMODIFY_EMPTY_IN_STRUCT_ERR', + '-1084000' => 'INPUT_ARG_NOT_WELL_FORMED_ERR', + '-1085000' => 'INPUT_ARG_OUT_OF_ARGC_RANGE_ERR', + '-1086000' => 'INSUFFICIENT_INPUT_ARG_ERR', + '-1087000' => 'INPUT_ARG_DOES_NOT_MATCH_ERR', + '-1088000' => 'RETRY_WITHOUT_RECOVERY_ERR', + '-1089000' => 'CUT_ACTION_PROCESSED_ERR', + '-1090000' => 'ACTION_FAILED_ERR', + '-1091000' => 'FAIL_ACTION_ENCOUNTERED_ERR', + '-1092000' => 'VARIABLE_NAME_TOO_LONG_ERR', + '-1093000' => 'UNKNOWN_VARIABLE_MAP_ERR', + '-1094000' => 'UNDEFINED_VARIABLE_MAP_ERR', + '-1095000' => 'NULL_VALUE_ERR', + '-1096000' => 'DVARMAP_FILE_READ_ERROR', + '-1097000' => 'NO_RULE_OR_MSI_FUNCTION_FOUND_ERR', + '-1098000' => 'FILE_CREATE_ERROR', + '-1099000' => 'FMAP_FILE_READ_ERROR', + '-1100000' => 'DATE_FORMAT_ERR', + '-1101000' => 'RULE_FAILED_ERR', + '-1102000' => 'NO_MICROSERVICE_FOUND_ERR', + '-1103000' => 'INVALID_REGEXP', + '-1104000' => 'INVALID_OBJECT_NAME', + '-1105000' => 'INVALID_OBJECT_TYPE', + '-1106000' => 'NO_VALUES_FOUND', + '-1107000' => 'NO_COLUMN_NAME_FOUND', + '-99999996' => 'SYS_NULL_INPUT', + '-99999997' => 'SYS_HANDLER_DONE_WITH_ERROR', + '-99999998' => 'SYS_HANDLER_DONE_NO_ERROR', + '-99999999' => 'SYS_NO_HANDLER_REPLY_MSG', + '-3000000' => 'GENERAL_PRODS_ERR', + '-3100000' => 'PERR_INTERNAL_ERR', + '-3101000' => 'PERR_UNEXPECTED_PACKET_FORMAT', + '-3102000' => 'PERR_PATH_DOES_NOT_EXISTS', + '-3103000' => 'PERR_UNSUPPORTED_PROTOCOL_SCHEME', + '-3104000' => 'PERR_USER_INPUT_ERROR', + '-3105000' => 'PERR_USER_INPUT_PATH_ERROR', + '-3106000' => 'PERR_CONN_NOT_ACTIVE', + '-2100000' => 'SSL_NOT_BUILT_INTO_CLIENT', + '-2101000' => 'SSL_NOT_BUILT_INTO_SERVER', + '-2102000' => 'SSL_INIT_ERROR', + '-2103000' => 'SSL_HANDSHAKE_ERROR', + '-2104000' => 'SSL_SHUTDOWN_ERROR', + '-2105000' => 'SSL_CERT_ERROR', + '-991000' => 'PAM_AUTH_NOT_BUILT_INTO_CLIENT', + '-992000' => 'PAM_AUTH_NOT_BUILT_INTO_SERVER', + '-993000' => 'PAM_AUTH_PASSWORD_FAILED', + '-994000' => 'PAM_AUTH_PASSWORD_INVALID_TTL', +); +?> diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/RodsGenQueryKeyWd.inc.php b/apps/files_external/3rdparty/irodsphp/prods/src/RodsGenQueryKeyWd.inc.php new file mode 100644 index 0000000000000000000000000000000000000000..ff830c6d6aabe1a8da5b35134aaa566f74fb53c6 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/RodsGenQueryKeyWd.inc.php @@ -0,0 +1,225 @@ + "all", + 'COPIES_KW' => "copies", + 'EXEC_LOCALLY_KW' => "execLocally", + 'FORCE_FLAG_KW' => "forceFlag", + 'CLI_IN_SVR_FIREWALL_KW' => "cliInSvrFirewall", + 'REG_CHKSUM_KW' => "regChksum", + 'VERIFY_CHKSUM_KW' => "verifyChksum", + 'VERIFY_BY_SIZE_KW' => "verifyBySize", + 'OBJ_PATH_KW' => "objPath", + 'RESC_NAME_KW' => "rescName", + 'DEST_RESC_NAME_KW' => "destRescName", + 'BACKUP_RESC_NAME_KW' => "backupRescName", + 'DATA_TYPE_KW' => "dataType", + 'DATA_SIZE_KW' => "dataSize", + 'CHKSUM_KW' => "chksum", + 'VERSION_KW' => "version", + 'FILE_PATH_KW' => "filePath", + 'REPL_NUM_KW' => "replNum", + 'REPL_STATUS_KW' => "replStatus", + 'ALL_REPL_STATUS_KW' => "allReplStatus", + 'DATA_INCLUDED_KW' => "dataIncluded", + 'DATA_OWNER_KW' => "dataOwner", + 'DATA_OWNER_ZONE_KW' => "dataOwnerZone", + 'DATA_EXPIRY_KW' => "dataExpiry", + 'DATA_COMMENTS_KW' => "dataComments", + 'DATA_CREATE_KW' => "dataCreate", + 'DATA_MODIFY_KW' => "dataModify", + 'DATA_ACCESS_KW' => "dataAccess", + 'DATA_ACCESS_INX_KW' => "dataAccessInx", + 'NO_OPEN_FLAG_KW' => "noOpenFlag", + 'STREAMING_KW' => "streaming", + 'DATA_ID_KW' => "dataId", + 'COLL_ID_KW' => "collId", + 'RESC_GROUP_NAME_KW' => "rescGroupName", + 'STATUS_STRING_KW' => "statusString", + 'DATA_MAP_ID_KW' => "dataMapId", + 'NO_PARA_OP_KW' => "noParaOpr", + 'LOCAL_PATH_KW' => "localPath", + 'RSYNC_MODE_KW' => "rsyncMode", + 'RSYNC_DEST_PATH_KW' => "rsyncDestPath", + 'RSYNC_CHKSUM_KW' => "rsyncChksum", + 'CHKSUM_ALL_KW' => "ChksumAll", + 'FORCE_CHKSUM_KW' => "forceChksum", + 'COLLECTION_KW' => "collection", + 'IRODS_ADMIN_KW' => "irodsAdmin", + 'RESC_ZONE_KW' => "zoneName", + 'RESC_LOC_KW' => "rescLoc", + 'RESC_TYPE_KW' => "rescType", + 'RESC_CLASS_KW' => "rescClass", + 'RESC_VAULT_PATH_KW' => "rescVaultPath", + 'NUM_OPEN_PORTS_KW' => "numOpenPorts", + 'PARA_OPR_KW' => "paraOpr", + 'GATEWAY_ADDR_KW' => "gateWayAddr", + 'RESC_MAX_OBJ_SIZE_KW' => "rescMaxObjSize", + 'FREE_SPACE_KW' => "freeSpace", + 'FREE_SPACE_TIME_KW' => "freeSpaceTime", + 'FREE_SPACE_TIMESTAMP_KW' => "freeSpaceTimeStamp", + 'RESC_TYPE_INX_KW' => "rescTypeInx", + 'RESC_CLASS_INX_KW' => "rescClassInx", + 'RESC_ID_KW' => "rescId", + 'RESC_INFO_KW' => "rescInfo", + 'RESC_COMMENTS_KW' => "rescComments", + 'RESC_CREATE_KW' => "rescCreate", + 'RESC_MODIFY_KW' => "rescModify", + 'USER_NAME_CLIENT_KW' => "userNameClient", + 'RODS_ZONE_CLIENT_KW' => "rodsZoneClient", + 'HOST_CLIENT_KW' => "hostClient", + 'USER_TYPE_CLIENT_KW' => "userTypeClient", + 'AUTH_STR_CLIENT_KW' => "authStrClient", + 'USER_AUTH_SCHEME_CLIENT_KW' => "userAuthSchemeClient", + 'USER_INFO_CLIENT_KW' => "userInfoClient", + 'USER_COMMENT_CLIENT_KW' => "userCommentClient", + 'USER_CREATE_CLIENT_KW' => "userCreateClient", + 'USER_MODIFY_CLIENT_KW' => "userModifyClient", + 'USER_NAME_PROXY_KW' => "userNameProxy", + 'RODS_ZONE_PROXY_KW' => "rodsZoneProxy", + 'HOST_PROXY_KW' => "hostProxy", + 'USER_TYPE_PROXY_KW' => "userTypeProxy", + 'AUTH_STR_PROXY_KW' => "authStrProxy", + 'USER_AUTH_SCHEME_PROXY_KW' => "userAuthSchemeProxy", + 'USER_INFO_PROXY_KW' => "userInfoProxy", + 'USER_COMMENT_PROXY_KW' => "userCommentProxy", + 'USER_CREATE_PROXY_KW' => "userCreateProxy", + 'USER_MODIFY_PROXY_KW' => "userModifyProxy", + 'ACCESS_PERMISSION_KW' => "accessPermission", + 'COLL_NAME_KW' => "collName", + 'COLL_PARENT_NAME_KW' => "collParentName", + 'COLL_OWNER_NAME_KW' => "collOwnername", + 'COLL_OWNER_ZONE_KW' => "collOwnerZone", + 'COLL_MAP_ID_KW' => "collMapId", + 'COLL_INHERITANCE_KW' => "collInheritance", + 'COLL_COMMENTS_KW' => "collComments", + 'COLL_EXPIRY_KW' => "collExpiry", + 'COLL_CREATE_KW' => "collCreate", + 'COLL_MODIFY_KW' => "collModify", + 'COLL_ACCESS_KW' => "collAccess", + 'COLL_ACCESS_INX_KW' => "collAccessInx", + 'COLL_ID_KW' => "collId", + 'RULE_NAME_KW' => "ruleName", + 'RULE_REI_FILE_PATH_KW' => "reiFilePath", + 'RULE_USER_NAME_KW' => "userName", + 'RULE_EXE_ADDRESS_KW' => "exeAddress", + 'RULE_EXE_TIME_KW' => "exeTime", + 'RULE_EXE_FREQUENCY_KW' => "exeFrequency", + 'RULE_PRIORITY_KW' => "priority", + 'RULE_ESTIMATE_EXE_TIME_KW' => "estimateExeTime", + 'RULE_NOTIFICATION_ADDR_KW' => "notificationAddr", + 'RULE_LAST_EXE_TIME_KW' => "lastExeTime", + 'RULE_EXE_STATUS_KW' => "exeStatus", +); +$GLOBALS['PRODS_GENQUE_KEYWD_REV'] = array( + "all" => 'ALL_KW', + "copies" => 'COPIES_KW', + "execLocally" => 'EXEC_LOCALLY_KW', + "forceFlag" => 'FORCE_FLAG_KW', + "cliInSvrFirewall" => 'CLI_IN_SVR_FIREWALL_KW', + "regChksum" => 'REG_CHKSUM_KW', + "verifyChksum" => 'VERIFY_CHKSUM_KW', + "verifyBySize" => 'VERIFY_BY_SIZE_KW', + "objPath" => 'OBJ_PATH_KW', + "rescName" => 'RESC_NAME_KW', + "destRescName" => 'DEST_RESC_NAME_KW', + "backupRescName" => 'BACKUP_RESC_NAME_KW', + "dataType" => 'DATA_TYPE_KW', + "dataSize" => 'DATA_SIZE_KW', + "chksum" => 'CHKSUM_KW', + "version" => 'VERSION_KW', + "filePath" => 'FILE_PATH_KW', + "replNum" => 'REPL_NUM_KW', + "replStatus" => 'REPL_STATUS_KW', + "allReplStatus" => 'ALL_REPL_STATUS_KW', + "dataIncluded" => 'DATA_INCLUDED_KW', + "dataOwner" => 'DATA_OWNER_KW', + "dataOwnerZone" => 'DATA_OWNER_ZONE_KW', + "dataExpiry" => 'DATA_EXPIRY_KW', + "dataComments" => 'DATA_COMMENTS_KW', + "dataCreate" => 'DATA_CREATE_KW', + "dataModify" => 'DATA_MODIFY_KW', + "dataAccess" => 'DATA_ACCESS_KW', + "dataAccessInx" => 'DATA_ACCESS_INX_KW', + "noOpenFlag" => 'NO_OPEN_FLAG_KW', + "streaming" => 'STREAMING_KW', + "dataId" => 'DATA_ID_KW', + "collId" => 'COLL_ID_KW', + "rescGroupName" => 'RESC_GROUP_NAME_KW', + "statusString" => 'STATUS_STRING_KW', + "dataMapId" => 'DATA_MAP_ID_KW', + "noParaOpr" => 'NO_PARA_OP_KW', + "localPath" => 'LOCAL_PATH_KW', + "rsyncMode" => 'RSYNC_MODE_KW', + "rsyncDestPath" => 'RSYNC_DEST_PATH_KW', + "rsyncChksum" => 'RSYNC_CHKSUM_KW', + "ChksumAll" => 'CHKSUM_ALL_KW', + "forceChksum" => 'FORCE_CHKSUM_KW', + "collection" => 'COLLECTION_KW', + "irodsAdmin" => 'IRODS_ADMIN_KW', + "zoneName" => 'RESC_ZONE_KW', + "rescLoc" => 'RESC_LOC_KW', + "rescType" => 'RESC_TYPE_KW', + "rescClass" => 'RESC_CLASS_KW', + "rescVaultPath" => 'RESC_VAULT_PATH_KW', + "numOpenPorts" => 'NUM_OPEN_PORTS_KW', + "paraOpr" => 'PARA_OPR_KW', + "gateWayAddr" => 'GATEWAY_ADDR_KW', + "rescMaxObjSize" => 'RESC_MAX_OBJ_SIZE_KW', + "freeSpace" => 'FREE_SPACE_KW', + "freeSpaceTime" => 'FREE_SPACE_TIME_KW', + "freeSpaceTimeStamp" => 'FREE_SPACE_TIMESTAMP_KW', + "rescTypeInx" => 'RESC_TYPE_INX_KW', + "rescClassInx" => 'RESC_CLASS_INX_KW', + "rescId" => 'RESC_ID_KW', + "rescInfo" => 'RESC_INFO_KW', + "rescComments" => 'RESC_COMMENTS_KW', + "rescCreate" => 'RESC_CREATE_KW', + "rescModify" => 'RESC_MODIFY_KW', + "userNameClient" => 'USER_NAME_CLIENT_KW', + "rodsZoneClient" => 'RODS_ZONE_CLIENT_KW', + "hostClient" => 'HOST_CLIENT_KW', + "userTypeClient" => 'USER_TYPE_CLIENT_KW', + "authStrClient" => 'AUTH_STR_CLIENT_KW', + "userAuthSchemeClient" => 'USER_AUTH_SCHEME_CLIENT_KW', + "userInfoClient" => 'USER_INFO_CLIENT_KW', + "userCommentClient" => 'USER_COMMENT_CLIENT_KW', + "userCreateClient" => 'USER_CREATE_CLIENT_KW', + "userModifyClient" => 'USER_MODIFY_CLIENT_KW', + "userNameProxy" => 'USER_NAME_PROXY_KW', + "rodsZoneProxy" => 'RODS_ZONE_PROXY_KW', + "hostProxy" => 'HOST_PROXY_KW', + "userTypeProxy" => 'USER_TYPE_PROXY_KW', + "authStrProxy" => 'AUTH_STR_PROXY_KW', + "userAuthSchemeProxy" => 'USER_AUTH_SCHEME_PROXY_KW', + "userInfoProxy" => 'USER_INFO_PROXY_KW', + "userCommentProxy" => 'USER_COMMENT_PROXY_KW', + "userCreateProxy" => 'USER_CREATE_PROXY_KW', + "userModifyProxy" => 'USER_MODIFY_PROXY_KW', + "accessPermission" => 'ACCESS_PERMISSION_KW', + "collName" => 'COLL_NAME_KW', + "collParentName" => 'COLL_PARENT_NAME_KW', + "collOwnername" => 'COLL_OWNER_NAME_KW', + "collOwnerZone" => 'COLL_OWNER_ZONE_KW', + "collMapId" => 'COLL_MAP_ID_KW', + "collInheritance" => 'COLL_INHERITANCE_KW', + "collComments" => 'COLL_COMMENTS_KW', + "collExpiry" => 'COLL_EXPIRY_KW', + "collCreate" => 'COLL_CREATE_KW', + "collModify" => 'COLL_MODIFY_KW', + "collAccess" => 'COLL_ACCESS_KW', + "collAccessInx" => 'COLL_ACCESS_INX_KW', + "collId" => 'COLL_ID_KW', + "ruleName" => 'RULE_NAME_KW', + "reiFilePath" => 'RULE_REI_FILE_PATH_KW', + "userName" => 'RULE_USER_NAME_KW', + "exeAddress" => 'RULE_EXE_ADDRESS_KW', + "exeTime" => 'RULE_EXE_TIME_KW', + "exeFrequency" => 'RULE_EXE_FREQUENCY_KW', + "priority" => 'RULE_PRIORITY_KW', + "estimateExeTime" => 'RULE_ESTIMATE_EXE_TIME_KW', + "notificationAddr" => 'RULE_NOTIFICATION_ADDR_KW', + "lastExeTime" => 'RULE_LAST_EXE_TIME_KW', + "exeStatus" => 'RULE_EXE_STATUS_KW', +); +?> diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/RodsGenQueryNum.inc.php b/apps/files_external/3rdparty/irodsphp/prods/src/RodsGenQueryNum.inc.php new file mode 100644 index 0000000000000000000000000000000000000000..82de94095b21787a653129cbc5d22b87b92d692d --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/RodsGenQueryNum.inc.php @@ -0,0 +1,235 @@ + '50', + 'MAX_SQL_ROWS' => '500', + 'ORDER_BY' => '1024', + 'ORDER_BY_DESC' => '2048', + 'RETURN_TOTAL_ROW_COUNT' => '32', + 'SELECT_MIN' => '2', + 'SELECT_MAX' => '3', + 'SELECT_SUM' => '4', + 'SELECT_AVG' => '5', + 'SELECT_COUNT' => '6', + 'COL_ZONE_ID' => '101', + 'COL_ZONE_NAME' => '102', + 'COL_USER_ID' => '201', + 'COL_USER_NAME' => '202', + 'COL_USER_TYPE' => '203', + 'COL_USER_ZONE' => '204', + 'COL_USER_DN' => '205', + 'COL_USER_INFO' => '206', + 'COL_USER_COMMENT' => '207', + 'COL_USER_CREATE_TIME' => '208', + 'COL_USER_MODIFY_TIME' => '209', + 'COL_R_RESC_ID' => '301', + 'COL_R_RESC_NAME' => '302', + 'COL_R_ZONE_NAME' => '303', + 'COL_R_TYPE_NAME' => '304', + 'COL_R_CLASS_NAME' => '305', + 'COL_R_LOC' => '306', + 'COL_R_VAULT_PATH' => '307', + 'COL_R_FREE_SPACE' => '308', + 'COL_R_RESC_INFO' => '309', + 'COL_R_RESC_COMMENT' => '310', + 'COL_R_CREATE_TIME' => '311', + 'COL_R_MODIFY_TIME' => '312', + 'COL_D_DATA_ID' => '401', + 'COL_D_COLL_ID' => '402', + 'COL_DATA_NAME' => '403', + 'COL_DATA_REPL_NUM' => '404', + 'COL_DATA_VERSION' => '405', + 'COL_DATA_TYPE_NAME' => '406', + 'COL_DATA_SIZE' => '407', + 'COL_D_RESC_GROUP_NAME' => '408', + 'COL_D_RESC_NAME' => '409', + 'COL_D_DATA_PATH' => '410', + 'COL_D_OWNER_NAME' => '411', + 'COL_D_OWNER_ZONE' => '412', + 'COL_D_REPL_STATUS' => '413', + 'COL_D_DATA_STATUS' => '414', + 'COL_D_DATA_CHECKSUM' => '415', + 'COL_D_EXPIRY' => '416', + 'COL_D_MAP_ID' => '417', + 'COL_D_COMMENTS' => '418', + 'COL_D_CREATE_TIME' => '419', + 'COL_D_MODIFY_TIME' => '420', + 'COL_COLL_ID' => '500', + 'COL_COLL_NAME' => '501', + 'COL_COLL_PARENT_NAME' => '502', + 'COL_COLL_OWNER_NAME' => '503', + 'COL_COLL_OWNER_ZONE' => '504', + 'COL_COLL_MAP_ID' => '505', + 'COL_COLL_INHERITANCE' => '506', + 'COL_COLL_COMMENTS' => '507', + 'COL_COLL_CREATE_TIME' => '508', + 'COL_COLL_MODIFY_TIME' => '509', + 'COL_COLL_TYPE' => '510', + 'COL_COLL_INFO1' => '511', + 'COL_COLL_INFO2' => '512', + 'COL_META_DATA_ATTR_NAME' => '600', + 'COL_META_DATA_ATTR_VALUE' => '601', + 'COL_META_DATA_ATTR_UNITS' => '602', + 'COL_META_DATA_ATTR_ID' => '603', + 'COL_META_COLL_ATTR_NAME' => '610', + 'COL_META_COLL_ATTR_VALUE' => '611', + 'COL_META_COLL_ATTR_UNITS' => '612', + 'COL_META_COLL_ATTR_ID' => '613', + 'COL_META_NAMESPACE_COLL' => '620', + 'COL_META_NAMESPACE_DATA' => '621', + 'COL_META_NAMESPACE_RESC' => '622', + 'COL_META_NAMESPACE_USER' => '623', + 'COL_META_RESC_ATTR_NAME' => '630', + 'COL_META_RESC_ATTR_VALUE' => '631', + 'COL_META_RESC_ATTR_UNITS' => '632', + 'COL_META_RESC_ATTR_ID' => '633', + 'COL_META_USER_ATTR_NAME' => '640', + 'COL_META_USER_ATTR_VALUE' => '641', + 'COL_META_USER_ATTR_UNITS' => '642', + 'COL_META_USER_ATTR_ID' => '643', + 'COL_DATA_ACCESS_TYPE' => '700', + 'COL_DATA_ACCESS_NAME' => '701', + 'COL_DATA_TOKEN_NAMESPACE' => '702', + 'COL_DATA_ACCESS_USER_ID' => '703', + 'COL_DATA_ACCESS_DATA_ID' => '704', + 'COL_RESC_GROUP_RESC_ID' => '800', + 'COL_RESC_GROUP_NAME' => '801', + 'COL_USER_GROUP_ID' => '900', + 'COL_USER_GROUP_NAME' => '901', + 'COL_RULE_EXEC_ID' => '1000', + 'COL_RULE_EXEC_NAME' => '1001', + 'COL_RULE_EXEC_REI_FILE_PATH' => '1002', + 'COL_RULE_EXEC_USER_NAME' => '1003', + 'COL_RULE_EXEC_ADDRESS' => '1004', + 'COL_RULE_EXEC_TIME' => '1005', + 'COL_RULE_EXEC_FREQUENCY' => '1006', + 'COL_RULE_EXEC_PRIORITY' => '1007', + 'COL_RULE_EXEC_ESTIMATED_EXE_TIME' => '1008', + 'COL_RULE_EXEC_NOTIFICATION_ADDR' => '1009', + 'COL_RULE_EXEC_LAST_EXE_TIME' => '1010', + 'COL_RULE_EXEC_STATUS' => '1011', + 'COL_TOKEN_NAMESPACE' => '1100', + 'COL_TOKEN_ID' => '1101', + 'COL_TOKEN_NAME' => '1102', + 'COL_TOKEN_VALUE' => '1103', + 'COL_TOKEN_VALUE2' => '1104', + 'COL_TOKEN_VALUE3' => '1105', + 'COL_TOKEN_COMMENT' => '1106', +); +$GLOBALS['PRODS_GENQUE_NUMS_REV'] = array( + '50' => 'MAX_SQL_ATTR', + '500' => 'MAX_SQL_ROWS', + '1024' => 'ORDER_BY', + '2048' => 'ORDER_BY_DESC', + '32' => 'RETURN_TOTAL_ROW_COUNT', + '2' => 'SELECT_MIN', + '3' => 'SELECT_MAX', + '4' => 'SELECT_SUM', + '5' => 'SELECT_AVG', + '6' => 'SELECT_COUNT', + '101' => 'COL_ZONE_ID', + '102' => 'COL_ZONE_NAME', + '201' => 'COL_USER_ID', + '202' => 'COL_USER_NAME', + '203' => 'COL_USER_TYPE', + '204' => 'COL_USER_ZONE', + '205' => 'COL_USER_DN', + '206' => 'COL_USER_INFO', + '207' => 'COL_USER_COMMENT', + '208' => 'COL_USER_CREATE_TIME', + '209' => 'COL_USER_MODIFY_TIME', + '301' => 'COL_R_RESC_ID', + '302' => 'COL_R_RESC_NAME', + '303' => 'COL_R_ZONE_NAME', + '304' => 'COL_R_TYPE_NAME', + '305' => 'COL_R_CLASS_NAME', + '306' => 'COL_R_LOC', + '307' => 'COL_R_VAULT_PATH', + '308' => 'COL_R_FREE_SPACE', + '309' => 'COL_R_RESC_INFO', + '310' => 'COL_R_RESC_COMMENT', + '311' => 'COL_R_CREATE_TIME', + '312' => 'COL_R_MODIFY_TIME', + '401' => 'COL_D_DATA_ID', + '402' => 'COL_D_COLL_ID', + '403' => 'COL_DATA_NAME', + '404' => 'COL_DATA_REPL_NUM', + '405' => 'COL_DATA_VERSION', + '406' => 'COL_DATA_TYPE_NAME', + '407' => 'COL_DATA_SIZE', + '408' => 'COL_D_RESC_GROUP_NAME', + '409' => 'COL_D_RESC_NAME', + '410' => 'COL_D_DATA_PATH', + '411' => 'COL_D_OWNER_NAME', + '412' => 'COL_D_OWNER_ZONE', + '413' => 'COL_D_REPL_STATUS', + '414' => 'COL_D_DATA_STATUS', + '415' => 'COL_D_DATA_CHECKSUM', + '416' => 'COL_D_EXPIRY', + '417' => 'COL_D_MAP_ID', + '418' => 'COL_D_COMMENTS', + '419' => 'COL_D_CREATE_TIME', + '420' => 'COL_D_MODIFY_TIME', + '500' => 'COL_COLL_ID', + '501' => 'COL_COLL_NAME', + '502' => 'COL_COLL_PARENT_NAME', + '503' => 'COL_COLL_OWNER_NAME', + '504' => 'COL_COLL_OWNER_ZONE', + '505' => 'COL_COLL_MAP_ID', + '506' => 'COL_COLL_INHERITANCE', + '507' => 'COL_COLL_COMMENTS', + '508' => 'COL_COLL_CREATE_TIME', + '509' => 'COL_COLL_MODIFY_TIME', + '510' => 'COL_COLL_TYPE', + '511' => 'COL_COLL_INFO1', + '512' => 'COL_COLL_INFO2', + '600' => 'COL_META_DATA_ATTR_NAME', + '601' => 'COL_META_DATA_ATTR_VALUE', + '602' => 'COL_META_DATA_ATTR_UNITS', + '603' => 'COL_META_DATA_ATTR_ID', + '610' => 'COL_META_COLL_ATTR_NAME', + '611' => 'COL_META_COLL_ATTR_VALUE', + '612' => 'COL_META_COLL_ATTR_UNITS', + '613' => 'COL_META_COLL_ATTR_ID', + '620' => 'COL_META_NAMESPACE_COLL', + '621' => 'COL_META_NAMESPACE_DATA', + '622' => 'COL_META_NAMESPACE_RESC', + '623' => 'COL_META_NAMESPACE_USER', + '630' => 'COL_META_RESC_ATTR_NAME', + '631' => 'COL_META_RESC_ATTR_VALUE', + '632' => 'COL_META_RESC_ATTR_UNITS', + '633' => 'COL_META_RESC_ATTR_ID', + '640' => 'COL_META_USER_ATTR_NAME', + '641' => 'COL_META_USER_ATTR_VALUE', + '642' => 'COL_META_USER_ATTR_UNITS', + '643' => 'COL_META_USER_ATTR_ID', + '700' => 'COL_DATA_ACCESS_TYPE', + '701' => 'COL_DATA_ACCESS_NAME', + '702' => 'COL_DATA_TOKEN_NAMESPACE', + '703' => 'COL_DATA_ACCESS_USER_ID', + '704' => 'COL_DATA_ACCESS_DATA_ID', + '800' => 'COL_RESC_GROUP_RESC_ID', + '801' => 'COL_RESC_GROUP_NAME', + '900' => 'COL_USER_GROUP_ID', + '901' => 'COL_USER_GROUP_NAME', + '1000' => 'COL_RULE_EXEC_ID', + '1001' => 'COL_RULE_EXEC_NAME', + '1002' => 'COL_RULE_EXEC_REI_FILE_PATH', + '1003' => 'COL_RULE_EXEC_USER_NAME', + '1004' => 'COL_RULE_EXEC_ADDRESS', + '1005' => 'COL_RULE_EXEC_TIME', + '1006' => 'COL_RULE_EXEC_FREQUENCY', + '1007' => 'COL_RULE_EXEC_PRIORITY', + '1008' => 'COL_RULE_EXEC_ESTIMATED_EXE_TIME', + '1009' => 'COL_RULE_EXEC_NOTIFICATION_ADDR', + '1010' => 'COL_RULE_EXEC_LAST_EXE_TIME', + '1011' => 'COL_RULE_EXEC_STATUS', + '1100' => 'COL_TOKEN_NAMESPACE', + '1101' => 'COL_TOKEN_ID', + '1102' => 'COL_TOKEN_NAME', + '1103' => 'COL_TOKEN_VALUE', + '1104' => 'COL_TOKEN_VALUE2', + '1105' => 'COL_TOKEN_VALUE3', + '1106' => 'COL_TOKEN_COMMENT', +); +?> diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/autoload.inc.php b/apps/files_external/3rdparty/irodsphp/prods/src/autoload.inc.php new file mode 100644 index 0000000000000000000000000000000000000000..593b901959e21993c1775a97132dfba68a46c1f3 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/autoload.inc.php @@ -0,0 +1,47 @@ +read())) { + if ($folder != "." && $folder != "..") { + if (is_dir(CLASS_DIR . $sub . $folder)) { + $subFolder = classFolder($className, $sub . $folder . "/"); + + if ($subFolder) + return $subFolder; + } + } + } + $dir->close(); + return false; +} + +spl_autoload_register('__autoload'); diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RODSPacket.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RODSPacket.class.php new file mode 100644 index 0000000000000000000000000000000000000000..89040882d20f053bb16e827e45d23a4d84cca0b6 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RODSPacket.class.php @@ -0,0 +1,250 @@ + array ("type" => NULL, "msgLen" => 0, + "errorLen" => 0, "bsLen" => 0, "intInfo" => 0), + "StartupPack_PI" => array ("irodsProt" => 1, "connectCnt" => 0, + "proxyUser" => NULL, "proxyRcatZone" => NULL, "clientUser" => NULL, + "clientRcatZone" => NULL, "relVersion" => NULL, + "apiVersion" => NULL, "option" => NULL ), + "Version_PI" => array ("status"=>0,"relVersion"=>NULL,"apiVersion"=>NULL), + "authResponseInp_PI" => array("response" => NULL, "username" => NULL), + "authRequestOut_PI" => array("challenge" => NULL) +); +*/ + +class RODSPacket +{ + protected $type; // type of packet + protected $packlets; // (array of mixed) main message body + + public function __construct($type = NULL, array $arr = NULL) + { + if (!isset($type)) + return; + + $this->type = $type; + $this->packlets = $arr; + } + + public function toXML() + { + if (empty($this->type)) + return NULL; + + $doc = new DOMDocument(); + $root = $this->toDOMElement($doc); + $doc->appendChild($root); + return ($doc->saveXML($root, LIBXML_NOEMPTYTAG)); + } + + /* + public function fromXML($str) + { + try { + $xml = new SimpleXMLElement($str); + } catch (Exception $e) { + throw new RODSException("RODSPacket::fromXML failed. ". + "Mal-formated XML: '$str'\n", + PERR_INTERNAL_ERR); + } + + if (isset($this->type)&&($this->type!=$xml->getName())) + { + throw new RODSException("RODSPacket::fromXML failed. ". + "Possible type mismatch! expected type:".$this->type." but got: ". + $xml->getName()." \n", + PERR_INTERNAL_ERR); + } + + $this->type=$xml->getName(); + + foreach($xml as $key => $val) + { + if (!array_key_exists($key,$this->msg)) + { + throw new RODSException("RODSPacket::fromXML failed. ". + "Possible type mismatch! expected key '$key' doesn't exists\n", + PERR_INTERNAL_ERR); + } + $this->msg[$key]=(string)$val; + } + } + */ + + public static function parseXML($xmlstr) + { + if (false == ($doc = DOMDocument::loadXML($xmlstr))) { + throw new RODSException("RODSPacket::parseXML failed. " . + "Failed to loadXML(). The xmlstr is: $xmlstr\n", + PERR_UNEXPECTED_PACKET_FORMAT); + } + + $rp_classname = "RP_" . substr($doc->tagName, 0, strlen($doc->tagName) - 3); + $packet = new $rp_classname(); + $packet->fromDOM($doc); + } + + /* + public function fromDOM(DOMNode $domnode) + { + if (!isset($this->packlets)) + return; + + $i=0; + $domnode_children=$domnode->childNodes; + + foreach($this->packlets as $packlet_key => &$packlet_val) + { + $domnode_child=$domnode_children->item($i++); + + // check if the tag names are expected + if ($domnode_child->tagName!=$packlet_key) + { + throw new RODSException("RODSPacket::fromDOM failed. ". + "Expecting packlet:$packlet_key, but got:".$domnode_child->tagName." \n", + PERR_UNEXPECTED_PACKET_FORMAT); + } + + if (is_a($packlet_val, "RODSPacket")) //if expecting sub packet + { + $packlet_val->fromDOM($domnode_child); + } + else //if expecting an string + { + + } + } + } + + */ + + public function fromSXE(SimpleXMLElement $sxe) + { + if (!isset($this->packlets)) + return; + + foreach ($this->packlets as $packlet_key => &$packlet_val) { + if ($packlet_val instanceof RODSPacket) //if expecting sub packet + { + if (!isset($sxe->$packlet_key)) { + throw new RODSException("RODSPacket(" . get_class($this) . ")::fromSXE failed. " . + "Failed to find expected packlet: '$packlet_key' \n", + "PERR_UNEXPECTED_PACKET_FORMAT"); + } + $packlet_val->fromSXE($sxe->$packlet_key); + } else + if (is_array($packlet_val)) //if expecting array + { + if (isset($sxe->$packlet_key)) { + $packlet_val = array(); + foreach ($sxe->$packlet_key as $sxe_val) { + if ((!empty($this->array_rp_type)) && + (!empty($this->array_rp_type["$packlet_key"])) + ) // if it's an array of packets + { + $class_name = $this->array_rp_type[$packlet_key]; + $sub_array_packet = new $class_name(); + $sub_array_packet->fromSXE($sxe_val); + $packlet_val[] = $sub_array_packet; + } else { + $packlet_val[] = (string)$sxe_val; + } + } + } + + } else { + if (isset($sxe->$packlet_key)) { + $packlet_val = (string)$sxe->$packlet_key; + } + } + } + /* + foreach($sxe->children() as $child) + { + $tagname=$child->getName(); + if(substr($tagname,-3,3)=="_PI") + { + $rp_classname="RP_".substr($name,0,strlen($name)-3); + $child_rp=new $rp_classname(); + $child_rp->fromSXE($child); + } + else + { + $this->packlets[$child->getName()]=(string)$child; + } + } + */ + } + + public function toDOMElement(DOMDocument $doc) + { + if (empty($this->type)) + return NULL; + + $node = $doc->createElement($this->type); + + foreach ($this->packlets as $name => $packlet) { + if ($packlet instanceof RODSPacket) //if node is a packet + { + $child_node = $packlet->toDOMElement($doc); + if (isset($child_node)) + $node->appendChild($packlet->toDOMElement($doc)); + } else + if (is_array($packlet)) //if node is an array + { + if (isset($packlet)) { + foreach ($packlet as $sub_packlet) { + if ($sub_packlet instanceof RODSPacket) //if sub_node is a packet + { + $child_node = $sub_packlet->toDOMElement($doc); + if (isset($child_node)) + $node->appendChild($sub_packlet->toDOMElement($doc)); + } else { + //echo "sub_packlet = $sub_packlet \n"; + $node->appendChild($doc->createElement($name, htmlspecialchars($sub_packlet))); + } + } + } + } else //if node holds a string + { //echo "packlet = $packlet \n"; + $node->appendChild($doc->createElement($name, htmlspecialchars($packlet))); + } + } + + return $node; + } + + public function __get($name) + { + if (array_key_exists($name, $this->packlets)) + return $this->packlets[$name]; + else { + debug_print_backtrace(); + throw new RODSException("RODSPacket::__get() failed. Trying to access field '$name' that doesn't exist!", + "PERR_INTERNAL_ERR"); + } + } + + public function __set($name, $val) + { + if (array_key_exists($name, $this->packlets)) + $this->packlets[$name] = $val; + else + throw new RODSException("RODSPacket::__set() failed. Trying to access field '$name' that doesn't exist!", + "PERR_INTERNAL_ERR"); + } + + /* + public static function makeStartupPack($user,$zone) + { + $msg=array(1,0,$user,$zone,$user,$zone,'rods0.5','a',NULL); + return (new RODSPacket("StartupPack_PI",$msg)); + } + */ +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_BinBytesBuf.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_BinBytesBuf.class.php new file mode 100644 index 0000000000000000000000000000000000000000..8cabcd0ae423ccc1dd1d431c99d0618d942d314a --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_BinBytesBuf.class.php @@ -0,0 +1,14 @@ + $buflen, "buf" => $buf); + parent::__construct("BinBytesBuf_PI", $packlets); + } + +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_CollInp.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_CollInp.class.php new file mode 100644 index 0000000000000000000000000000000000000000..b7ad6fd0cad02dc2f4892da951b38146756f091b --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_CollInp.class.php @@ -0,0 +1,19 @@ + $collName, + 'KeyValPair_PI' => $KeyValPair_PI); + parent::__construct("CollInp_PI", $packlets); + } + +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_CollOprStat.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_CollOprStat.class.php new file mode 100644 index 0000000000000000000000000000000000000000..939d2e3759641a1ba07ec22e0a7bb62dcb60890c --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_CollOprStat.class.php @@ -0,0 +1,17 @@ + $filesCnt, "totalFileCnt" => $totalFileCnt, + 'bytesWritten' => $bytesWritten, 'lastObjPath' => $lastObjPath); + parent::__construct("CollOprStat_PI", $packlets); + } + +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_DataObjCopyInp.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_DataObjCopyInp.class.php new file mode 100644 index 0000000000000000000000000000000000000000..c16b3628f5ebd901905de52e9dbc8816462b391f --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_DataObjCopyInp.class.php @@ -0,0 +1,19 @@ + $src, 'dest' => $dest); + parent::__construct("DataObjCopyInp_PI", $packlets); + } + +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_DataObjInp.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_DataObjInp.class.php new file mode 100644 index 0000000000000000000000000000000000000000..f7a8f939b82d6bfdf5158f7138380e06ae58f777 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_DataObjInp.class.php @@ -0,0 +1,22 @@ + $objPath, 'createMode' => $createMode, + 'openFlags' => $openFlags, 'offset' => $offset, "dataSize" => $dataSize, + "numThreads" => $numThreads, "oprType" => $oprType, + 'KeyValPair_PI' => $KeyValPair_PI); + parent::__construct("DataObjInp_PI", $packlets); + } + +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_ExecCmdOut.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_ExecCmdOut.class.php new file mode 100644 index 0000000000000000000000000000000000000000..55dcb02383d12179e423dc53d5733e573ca5d2fd --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_ExecCmdOut.class.php @@ -0,0 +1,56 @@ + $buf); + parent::__construct("ExecCmdOut_PI", $packlets); + } + + public function fromSXE(SimpleXMLElement $sxe) + { + $binbytes = "BinBytesBuf_PI"; + $name = "buf"; + + if (!isset($this->packlets)) + return; + + $packlet_value = ""; + try { + foreach ($sxe->$binbytes as $binpacket) { + if (strlen($binpacket->$name) > 0) { + $decoded_value = base64_decode($binpacket->$name); + $packlet_value .= $decoded_value; + } + } + + // can't find a better way yet to get rid of the garbage on the end of the string ... + $len = strlen($packlet_value); + $cleaned_value = ""; + for ($i = 0; $i < $len; $i++) { + if (ord($packlet_value{$i}) <= 0) break; + $cleaned_value .= $packlet_value{$i}; + } + + $this->packlets[$name] = $cleaned_value; + $this->packlets["buflen"] = $i; + } catch (Exception $ex) { + $this->packlets[$name] = ""; + } + } +} + +?> diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_ExecMyRuleInp.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_ExecMyRuleInp.class.php new file mode 100644 index 0000000000000000000000000000000000000000..88a62fc2b0c6515de6614f285df0f482f1db2384 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_ExecMyRuleInp.class.php @@ -0,0 +1,22 @@ + $myRule, "RHostAddr_PI" => $RHostAddr_PI, + "KeyValPair_PI" => $KeyValPair_PI, "outParamDesc" => $outParamDesc, + "MsParamArray_PI" => $MsParamArray_PI); + parent::__construct("ExecMyRuleInp_PI", $packlets); + } + +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_GenQueryInp.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_GenQueryInp.class.php new file mode 100644 index 0000000000000000000000000000000000000000..2e1e29a2bfeb440c6572c0f7138c5294c518b9b8 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_GenQueryInp.class.php @@ -0,0 +1,25 @@ + $maxRows, 'continueInx' => $continueInx, + 'partialStartIndex' => $partialStartIndex, 'options' => $options, + 'KeyValPair_PI' => $KeyValPair_PI, 'InxIvalPair_PI' => $InxIvalPair_PI, + 'InxValPair_PI' => $InxValPair_PI); + parent::__construct("GenQueryInp_PI", $packlets); + } + +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_GenQueryOut.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_GenQueryOut.class.php new file mode 100644 index 0000000000000000000000000000000000000000..e9f31dd5368be60e68382a17add633fb3d1ca11f --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_GenQueryOut.class.php @@ -0,0 +1,22 @@ +array_rp_type = array("SqlResult_PI" => "RP_SqlResult"); + + $packlets = array("rowCnt" => $rowCnt, 'attriCnt' => $attriCnt, + 'continueInx' => $continueInx, 'totalRowCount' => $totalRowCount, + 'SqlResult_PI' => $SqlResult_PI); + parent::__construct("GenQueryOut_PI", $packlets); + } + +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_InxIvalPair.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_InxIvalPair.class.php new file mode 100644 index 0000000000000000000000000000000000000000..ac56bc93df8cf67a8cd77638c49efd32a732df33 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_InxIvalPair.class.php @@ -0,0 +1,27 @@ + $iiLen, 'inx' => $inx, 'ivalue' => $ivalue); + parent::__construct("InxIvalPair_PI", $packlets); + } + + public function fromAssocArray($array) + { + if (!empty($array)) { + $this->packlets["iiLen"] = count($array); + $this->packlets["inx"] = array_keys($array); + $this->packlets["ivalue"] = array_values($array); + } else { + $this->packlets["iiLen"] = 0; + $this->packlets["inx"] = array(); + $this->packlets["ivalue"] = array(); + } + } + +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_InxValPair.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_InxValPair.class.php new file mode 100644 index 0000000000000000000000000000000000000000..787d27fd1031f5b6e0dab90573c35324b2205fa6 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_InxValPair.class.php @@ -0,0 +1,44 @@ + $isLen, 'inx' => $inx, 'svalue' => $svalue); + parent::__construct("InxValPair_PI", $packlets); + } + + public function fromAssocArray($array) + { + if (!empty($array)) { + $this->packlets["isLen"] = count($array); + $this->packlets["inx"] = array_keys($array); + $this->packlets["svalue"] = array_values($array); + } else { + $this->packlets["isLen"] = 0; + $this->packlets["inx"] = array(); + $this->packlets["svalue"] = array(); + } + } + + public function fromRODSQueryConditionArray($array) + { + $this->packlets["isLen"] = 0; + $this->packlets["inx"] = array(); + $this->packlets["svalue"] = array(); + + if (!isset($array)) return; + + $this->packlets["isLen"] = count($array); + foreach ($array as $cond) { + $this->packlets["inx"][] = $cond->name; + $this->packlets["svalue"][] = "$cond->op '$cond->value'"; + //echo " $cond->op '$cond->value'"; + } + } +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_KeyValPair.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_KeyValPair.class.php new file mode 100644 index 0000000000000000000000000000000000000000..6d8dd12ff1263577a6796e68bcb9371f9b506ea6 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_KeyValPair.class.php @@ -0,0 +1,47 @@ + $ssLen, 'keyWord' => $keyWord, + 'svalue' => $svalue); + parent::__construct("KeyValPair_PI", $packlets); + } + + public function fromAssocArray(array $array) + { + if (!empty($array)) { + $this->packlets["ssLen"] = count($array); + $this->packlets["keyWord"] = array_keys($array); + $this->packlets["svalue"] = array_values($array); + } else { + $this->packlets["ssLen"] = 0; + $this->packlets["keyWord"] = array(); + $this->packlets["svalue"] = array(); + } + } + + public function fromRODSQueryConditionArray($array) + { + $this->packlets["ssLen"] = 0; + $this->packlets["keyWord"] = array(); + $this->packlets["svalue"] = array(); + + if (!isset($array)) return; + + $this->packlets["ssLen"] = count($array); + foreach ($array as $cond) { + $this->packlets["keyWord"][] = $cond->name; + $this->packlets["svalue"][] = "$cond->op '$cond->value'"; + } + } +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_MiscSvrInfo.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_MiscSvrInfo.class.php new file mode 100644 index 0000000000000000000000000000000000000000..65ee3580e97043dcb0790448327a14b734e79ab6 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_MiscSvrInfo.class.php @@ -0,0 +1,17 @@ + $serverType, 'relVersion' => $relVersion, + 'apiVersion' => $apiVersion, 'rodsZone' => $rodsZone); + parent::__construct("MiscSvrInfo_PI", $packlets); + } + +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_ModAVUMetadataInp.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_ModAVUMetadataInp.class.php new file mode 100644 index 0000000000000000000000000000000000000000..b67b7083d44667f65f751e33228fed76099abdb9 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_ModAVUMetadataInp.class.php @@ -0,0 +1,18 @@ + $arg0, "arg1" => $arg1, "arg2" => $arg2, + "arg3" => $arg3, "arg4" => $arg4, "arg5" => $arg5, + "arg6" => $arg6, "arg7" => $arg7, "arg8" => $arg8, "arg9" => $arg9); + parent::__construct("ModAVUMetadataInp_PI", $packlets); + } + +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_MsParam.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_MsParam.class.php new file mode 100644 index 0000000000000000000000000000000000000000..abf9bc471bbf0ecee958e4e5dce2d246f916ca7b --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_MsParam.class.php @@ -0,0 +1,45 @@ + $label, "type" => $inOutStruct->type, + $inOutStruct->type => $inOutStruct, "BinBytesBuf_PI" => $BinBytesBuf_PI); + parent::__construct("MsParam_PI", $packlets); + } + + // need to overwrite it's parent function here, since $inOutStruct->type + // can be undefined, when it's parent packet class was defined. + public function fromSXE(SimpleXMLElement $sxe) + { + if (!isset($this->packlets)) + return; + + $this->packlets["label"] = (string)$sxe->label; + $this->packlets["type"] = (string)$sxe->type; + + $typename = $this->packlets["type"]; //type of the expected packet + if (substr($typename, -3, 3) != "_PI") { + throw new RODSException("RP_MsParam::fromSXE " . + "The XML node's type is unexpected: '$typename' " . + " expecting some thing like xxx_PI", + "SYS_PACK_INSTRUCT_FORMAT_ERR"); + } + $rp_classname = "RP_" . substr($typename, 0, strlen($typename) - 3); + $inOutStruct = new $rp_classname(); + $inOutStruct->fromSXE($sxe->$typename); + $this->packlets["$typename"] = $inOutStruct; + + $this->packlets['BinBytesBuf_PI'] = new RP_BinBytesBuf(); + $this->packlets['BinBytesBuf_PI']->fromSXE($sxe->BinBytesBuf_PI); + } + +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_MsParamArray.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_MsParamArray.class.php new file mode 100644 index 0000000000000000000000000000000000000000..b747c098dd21d79fd955ce67690c28f18f8311bb --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_MsParamArray.class.php @@ -0,0 +1,21 @@ +array_rp_type = array("MsParam_PI" => "RP_MsParam"); + + $packlets = array("paramLen" => count($MsParam_PI), + "oprType" => $oprType, "MsParam_PI" => $MsParam_PI); + parent::__construct("MsParamArray_PI", $packlets); + } + +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_MsgHeader.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_MsgHeader.class.php new file mode 100644 index 0000000000000000000000000000000000000000..0249da9a05d2f1406620a5d9a4e33ad639c5e3e2 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_MsgHeader.class.php @@ -0,0 +1,17 @@ + $type, "msgLen" => $msgLen, + "errorLen" => $errorLen, "bsLen" => $bsLen, "intInfo" => $intInfo); + parent::__construct("MsgHeader_PI", $packlets); + } + +} + +?> + \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_RHostAddr.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_RHostAddr.class.php new file mode 100644 index 0000000000000000000000000000000000000000..28602f3150f4d3e62fe282e5fa4a7d26bbbc8018 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_RHostAddr.class.php @@ -0,0 +1,15 @@ + $hostAddr, "rodsZone" => $rodsZone, + "port" => $port); + parent::__construct("RHostAddr_PI", $packlets); + } + +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_RodsObjStat.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_RodsObjStat.class.php new file mode 100644 index 0000000000000000000000000000000000000000..290a4c9a5b0ff5cf0f9409e7362efd615d697e3a --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_RodsObjStat.class.php @@ -0,0 +1,20 @@ + $objSize, 'objType' => $objType, + 'numCopies' => $numCopies, 'dataId' => $dataId, "chksum" => $chksum, + "ownerName" => $ownerName, "ownerZone" => $ownerZone, + 'createTime' => $createTime, 'modifyTime' => $modifyTime); + parent::__construct("RodsObjStat_PI", $packlets); + } + +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_STR.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_STR.class.php new file mode 100644 index 0000000000000000000000000000000000000000..3f5a91a35d053e023295a8e89882e4ee7bd550e8 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_STR.class.php @@ -0,0 +1,14 @@ + $myStr); + parent::__construct("STR_PI", $packlets); + } + +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_SqlResult.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_SqlResult.class.php new file mode 100644 index 0000000000000000000000000000000000000000..1950f096f1307a7f553ec2f8abd8b75912985336 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_SqlResult.class.php @@ -0,0 +1,15 @@ + $attriInx, 'reslen' => $reslen, 'value' => $value); + parent::__construct("SqlResult_PI", $packlets); + } + + +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_StartupPack.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_StartupPack.class.php new file mode 100644 index 0000000000000000000000000000000000000000..a411bd7425b01bf759ed0b9474314a08d2db08a7 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_StartupPack.class.php @@ -0,0 +1,18 @@ + 1, "connectCnt" => 0, + "proxyUser" => $user, "proxyRcatZone" => $zone, "clientUser" => $user, + "clientRcatZone" => $zone, "relVersion" => $relVersion, + "apiVersion" => $apiVersion, "option" => $option); + parent::__construct("StartupPack_PI", $packlets); + } + +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_TransStat.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_TransStat.class.php new file mode 100644 index 0000000000000000000000000000000000000000..bb591f01343a0eb2031ddf14a867c2dfa0f72b37 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_TransStat.class.php @@ -0,0 +1,16 @@ + $numThreads, + 'bytesWritten' => $bytesWritten); + parent::__construct("TransStat_PI", $packlets); + } + +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_Version.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_Version.class.php new file mode 100644 index 0000000000000000000000000000000000000000..a08cb6cc24c6340206aee7149cf394ae0e81a6bf --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_Version.class.php @@ -0,0 +1,16 @@ + $status, "relVersion" => $relVersion, + "apiVersion" => $apiVersion); + parent::__construct("Version_PI", $packlets); + } + +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_authRequestOut.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_authRequestOut.class.php new file mode 100644 index 0000000000000000000000000000000000000000..9dc87140635980e9f515f8b5fce6569a3d305feb --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_authRequestOut.class.php @@ -0,0 +1,14 @@ + $challenge); + parent::__construct("authRequestOut_PI", $packlets); + } + +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_authResponseInp.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_authResponseInp.class.php new file mode 100644 index 0000000000000000000000000000000000000000..23d754df0acff8989bacd99fabf0115191d14393 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_authResponseInp.class.php @@ -0,0 +1,14 @@ + $response, "username" => $username); + parent::__construct("authResponseInp_PI", $packlets); + } + +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_dataObjCloseInp.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_dataObjCloseInp.class.php new file mode 100644 index 0000000000000000000000000000000000000000..d16e1b3f3a44b4472b76b2d530a8c71c94fdc3c7 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_dataObjCloseInp.class.php @@ -0,0 +1,16 @@ + $l1descInx, + 'bytesWritten' => $bytesWritten); + parent::__construct("dataObjCloseInp_PI", $packlets); + } + +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_dataObjReadInp.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_dataObjReadInp.class.php new file mode 100644 index 0000000000000000000000000000000000000000..29bd1b68e35577025c0b14cb3ee754b3a1a06175 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_dataObjReadInp.class.php @@ -0,0 +1,16 @@ + $l1descInx, + 'len' => $len); + parent::__construct("dataObjReadInp_PI", $packlets); + } + +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_dataObjWriteInp.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_dataObjWriteInp.class.php new file mode 100644 index 0000000000000000000000000000000000000000..5327d7a8932a9daec965efcf4e4f5cb63f51b311 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_dataObjWriteInp.class.php @@ -0,0 +1,16 @@ + $dataObjInx, + 'len' => $len); + parent::__construct("dataObjWriteInp_PI", $packlets); + } + +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_fileLseekInp.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_fileLseekInp.class.php new file mode 100644 index 0000000000000000000000000000000000000000..e28a7b3b49870fd96c45375d5343a73218200855 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_fileLseekInp.class.php @@ -0,0 +1,16 @@ + $fileInx, "offset" => $offset, + 'whence' => $whence); + parent::__construct("fileLseekInp_PI", $packlets); + } + +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_fileLseekOut.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_fileLseekOut.class.php new file mode 100644 index 0000000000000000000000000000000000000000..cf01741bea605e0de73404a94dafe21850320127 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_fileLseekOut.class.php @@ -0,0 +1,15 @@ + $offset); + parent::__construct("fileLseekOut_PI", $packlets); + } + +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_getTempPasswordOut.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_getTempPasswordOut.class.php new file mode 100644 index 0000000000000000000000000000000000000000..ba073e979398e85e6359dff6d39b72a34348bc29 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_getTempPasswordOut.class.php @@ -0,0 +1,14 @@ + $stringToHashWith); + parent::__construct("getTempPasswordOut_PI", $packlets); + } + +} + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_pamAuthRequestInp.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_pamAuthRequestInp.class.php new file mode 100644 index 0000000000000000000000000000000000000000..0bbc2334a827738875ed43033d0247bd01714bce --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_pamAuthRequestInp.class.php @@ -0,0 +1,13 @@ + $pamUser, "pamPassword" => $pamPassword, "timeToLive" => $timeToLive); + parent::__construct("pamAuthRequestInp_PI",$packlets); + } + +} +?> diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_pamAuthRequestOut.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_pamAuthRequestOut.class.php new file mode 100644 index 0000000000000000000000000000000000000000..01959954c97f6c5c0e186f25614a37289b9b52cf --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_pamAuthRequestOut.class.php @@ -0,0 +1,13 @@ + $irodsPamPassword); + parent::__construct("pamAuthRequestOut_PI",$packlets); + } + +} +?> diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_sslEndInp.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_sslEndInp.class.php new file mode 100644 index 0000000000000000000000000000000000000000..530f304860442b04aaf180ca23275d24d496232f --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_sslEndInp.class.php @@ -0,0 +1,13 @@ + $arg0); + parent::__construct("sslEndInp_PI",$packlets); + } + +} +?> diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_sslStartInp.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_sslStartInp.class.php new file mode 100644 index 0000000000000000000000000000000000000000..03c8365898e698671b4237f10eb147b434447eb5 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_sslStartInp.class.php @@ -0,0 +1,13 @@ + $arg0); + parent::__construct("sslStartInp_PI",$packlets); + } + +} +?> diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_ticketAdminInp.class.php b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_ticketAdminInp.class.php new file mode 100644 index 0000000000000000000000000000000000000000..ec849b68dbebc8b16daa753966b24acc862edbe9 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/packet/RP_ticketAdminInp.class.php @@ -0,0 +1,30 @@ + to use it, create -> to... create!, + $arg2 = '', // the actual ticket + $arg3 = '', // "read" or "write" -> in case of "create" above + $arg4 = '', // full path to the resource, e.g.: /tempZone/home/rods/as + $arg5 = '', + $arg6 = '') + { + + $packlets = array( 'arg1' => $arg1, + 'arg2' => $arg2, + 'arg3' => $arg3, + 'arg4' => $arg4, + 'arg5' => $arg5, + 'arg6' => $arg6, + ); + parent::__construct('ticketAdminInp_PI', $packlets); + } + +} \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/prods.ini b/apps/files_external/3rdparty/irodsphp/prods/src/prods.ini new file mode 100644 index 0000000000000000000000000000000000000000..5c81a71de73d45c7a08b3e37231513f56c5f181c --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/prods.ini @@ -0,0 +1,15 @@ +; Configuration file for the Prods API + +[ssl] +; Require verification of SSL certificate used. Default "false". +;verify_peer = "true" +; Allow self-signed certificates. Requires verify_peer. Default "false". +;allow_self_signed = "true" +; Location of Certificate Authority file on local filesystem which +; should be used with verify_peer equal "true" to authenticate +; the identity of the remote peer. +;cafile = "/path/to/cert.pem" +; If cafile is not specified or if the certificate is not found there, +; the directory pointed to by capath is searched for a suitable +; certificate. capath must be a correctly hashed certificate directory. +;capath = "/path/to/certfiles" diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/release_notes.txt b/apps/files_external/3rdparty/irodsphp/prods/src/release_notes.txt new file mode 100644 index 0000000000000000000000000000000000000000..7d892eedb6ea4df9096c84c79dda9b6deb39f38a --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/release_notes.txt @@ -0,0 +1,31 @@ + +*'''Project''': iRODS PHP Library PRODS and PRODS Web Browser +*'''Date''': 11/26/2012 +*'''Release Version''': 3.2.0 Release +*'''git tag''': 3.2.0 + +==News== + +This is the consolidated and updated release of the PRODS PHP library for iRODS. This library provides a pure-PHP interface to the iRODS system. This library is suitable for simple and quick interfaces to the iRODS data grid, and will be maintained for stability and compatibility. If advanced or higher-performance interfaces are desired, the Jargon Java API should be considered. Note that PHP, Jython, JRuby, Groovy, and other JVM dynamic languages can be used with Jarogn. + +The PRODS PHP Web Browser is also included in this project, and remains supported. Note that the PHP Web Browser functionality has been subsumed by the idrop-web browser and idrop-swing client. + +Please go to [[https://code.renci.org/gf/project/irodsphp/] for the latest news and info. + +Note that the git repository is now the canonical version of the PHP code. The code in the iRODS SVN server is deprecated and will be taken down at the 3.0.0 release point. There may be other versions in Google Code and other places, but these should be considered obsolete. + + +==Requirements== + +==Libraries== + +==Features== + +*[#1076] irods 3.2 release activities +**Added a LICENSE.txt file at the top project level + + +==Bug Fixes== + +*[#1071] php uses self-closing tags for empty HTML tags +**Added patch suggested by community Changing line 41 in RODSPacket.class.php (in PRods) from return ($doc->saveXML($root)); to return ($doc->saveXML($root, LIBXML_NOEMPTYTAG)); \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/setRodsAPINum.php b/apps/files_external/3rdparty/irodsphp/prods/src/setRodsAPINum.php new file mode 100644 index 0000000000000000000000000000000000000000..382a85c051e0866bfb53bcf42a51d4ea97bb62e1 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/setRodsAPINum.php @@ -0,0 +1,70 @@ + 1) { + if (empty($val1)) $val1 = trim($token); + else $val2 = trim($token); + } + } + if ((!empty($val1)) && (!empty($val2))) { + array_push($value_pairs, array($val1, $val2)); + } + } +} +var_dump($value_pairs); +foreach ($new_api_nums as $new_code_pair) { + if ((!is_array($new_code_pair)) || (count($new_code_pair) != 2)) + die("unexpected new_code_pair:$new_code_pair\n"); + array_push($value_pairs, $new_code_pair); +} + +$outputstr = " '$val2',\n"; +} +$outputstr = $outputstr . ");\n"; + +$outputstr = $outputstr . '$GLOBALS[\'PRODS_API_NUMS_REV\']=array(' . "\n"; +foreach ($value_pairs as $value_pair) { + $val1 = $value_pair[0]; + $val2 = $value_pair[1]; + $outputstr = $outputstr . " '$val2' => '$val1',\n"; +} +$outputstr = $outputstr . ");\n"; + +$outputstr = $outputstr . "?>\n"; +file_put_contents($prods_api_num_file, $outputstr); + +?> diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/setRodsErrorCodes.php b/apps/files_external/3rdparty/irodsphp/prods/src/setRodsErrorCodes.php new file mode 100644 index 0000000000000000000000000000000000000000..d5c4377384525434aa7e0e42db41bbfe0f1bb841 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/setRodsErrorCodes.php @@ -0,0 +1,75 @@ + 3) { + if (empty($val1)) $val1 = trim($token); + else $val2 = trim($token); + } + } + if ((!empty($val1)) && (!empty($val2))) { + array_push($value_pairs, array($val1, $val2)); + } + } +} + +foreach ($new_error_codes as $new_code_pair) { + if ((!is_array($new_code_pair)) || (count($new_code_pair) != 2)) + die("unexpected new_code_pair:$new_code_pair\n"); + array_push($value_pairs, $new_code_pair); +} + +$outputstr = " '$val2',\n"; +} +$outputstr = $outputstr . ");\n"; + +$outputstr = $outputstr . '$GLOBALS[\'PRODS_ERR_CODES_REV\']=array(' . "\n"; +foreach ($value_pairs as $value_pair) { + $val1 = $value_pair[0]; + $val2 = $value_pair[1]; + $outputstr = $outputstr . " '$val2' => '$val1',\n"; +} +$outputstr = $outputstr . ");\n"; + +$outputstr = $outputstr . "?>\n"; +file_put_contents($prods_error_table_file, $outputstr); + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/setRodsGenQueryKeyWd.php b/apps/files_external/3rdparty/irodsphp/prods/src/setRodsGenQueryKeyWd.php new file mode 100644 index 0000000000000000000000000000000000000000..4372a849aac0703523a714795572d995dad19d08 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/setRodsGenQueryKeyWd.php @@ -0,0 +1,73 @@ + 1) { + if (empty($val1)) $val1 = trim($token); + else { + + if (($token{0} == '"') /*&&($token{strlen($token)-1}=='"')*/) { + if (empty($val2)) + $val2 = trim($token); + } + } + } + } + if ((!empty($val1)) && (!empty($val2))) { + array_push($value_pairs, array($val1, $val2)); + } + } +} +foreach ($new_genque_keywds as $new_code_pair) { + if ((!is_array($new_code_pair)) || (count($new_code_pair) != 2)) + die("unexpected new_code_pair:$new_code_pair\n"); + array_push($value_pairs, $new_code_pair); +} + +$outputstr = " $val2,\n"; +} +$outputstr = $outputstr . ");\n"; + +$outputstr = $outputstr . '$GLOBALS[\'PRODS_GENQUE_KEYWD_REV\']=array(' . "\n"; +foreach ($value_pairs as $value_pair) { + $val1 = $value_pair[0]; + $val2 = $value_pair[1]; + $outputstr = $outputstr . " $val2 => '$val1',\n"; +} +$outputstr = $outputstr . ");\n"; + +$outputstr = $outputstr . "?>\n"; +file_put_contents($prods_genque_keywd_file, $outputstr); + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/src/setRodsGenQueryNum.php b/apps/files_external/3rdparty/irodsphp/prods/src/setRodsGenQueryNum.php new file mode 100644 index 0000000000000000000000000000000000000000..03fa051f092a4ef70c18484b8e0092eec151e0ca --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/src/setRodsGenQueryNum.php @@ -0,0 +1,63 @@ + '$val2',\n"; +} +$outputstr = $outputstr . ");\n"; + +$outputstr = $outputstr . '$GLOBALS[\'PRODS_GENQUE_NUMS_REV\']=array(' . "\n"; +foreach ($value_pairs as $value_pair) { + $val1 = $value_pair[0]; + $val2 = $value_pair[1]; + $outputstr = $outputstr . " '$val2' => '$val1',\n"; +} +$outputstr = $outputstr . ");\n"; + +$outputstr = $outputstr . "?>\n"; +file_put_contents($prods_genque_num_file, $outputstr); + +?> \ No newline at end of file diff --git a/apps/files_external/3rdparty/irodsphp/prods/utilities/exif2meta.php b/apps/files_external/3rdparty/irodsphp/prods/utilities/exif2meta.php new file mode 100644 index 0000000000000000000000000000000000000000..9ee9495f1023bab5e77d75c0f4445b7d25bc40b8 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/prods/utilities/exif2meta.php @@ -0,0 +1,145 @@ +getMeta(); + $metaalreadyset = false; + foreach ($metas as $meta) { + if ($meta->name == 'EXIF.ExifVersion') { + $metaalreadyset = true; + break; + } + } + + if ($metaalreadyset === true) { + $time = '[' . date('c') . ']'; + echo "$time 0: metadata already set for '$target_file'\n"; + exit(0); + } + + // download file from irods to tmp + $localfile = '/tmp/' . basename($target_file); + if (file_exists($localfile)) + unlink($localfile); + $irodsfile->open("r"); + $str = ''; + while ((($buffer = $irodsfile->read(1024 * 1024)) != NULL) && + (connection_status() == 0)) { + $str = $str . $buffer; + } + $irodsfile->close(); + file_put_contents($localfile, $str); + + extactExif($localfile, $irodsfile); + + if (file_exists($localfile)) + unlink($localfile); + + $time = '[' . date('c') . ']'; + echo "$time 0: '$target_file' processed!\n"; + exit(0); + +} catch (Exception $e) { + + if (file_exists($localfile)) + unlink($localfile); + + $time = '[' . date('c') . ']'; + echo "$time " . $e->getCode() . ": " . "$e"; + exit(-1); +} + + +function extactExif($localfile, $remoteRODSfile) +{ + $exif = exif_read_data($localfile, 'EXIF'); + if ($exif === false) return; + + foreach ($exif as $name => $val) { + + // replace ascii char that can't be displayed, which causes problem in irods + if ((!is_array($val)) && (is_string($val)) && + ((ord($val[0]) < 32) || (ord($val[0]) > 126)) && + ($name != 'UserComment') + ) { + $val = '__undefined__'; + } + + if ($name == 'THUMBNAIL') { + foreach ($val as $tname => $tval) + $remoteRODSfile->addMeta(new RODSMeta( + 'EXIF.THUMBNAIL.' . $tname, $tval, '')); + } else + if ($name == 'COMPUTED') { + foreach ($val as $cname => $cval) { + if ($cname == 'html') { + //skip html tag, because there is a irods server bug that corrupting string with + //double quotes: 'COMPUTED.html: width="3264" height="2448"' + } else + $remoteRODSfile->addMeta(new RODSMeta( + 'EXIF.COMPUTED.' . $cname, $cval, '')); + } + } else + if ($name == 'MakerNote') { + //skip makernote + } else + if ($name == 'ComponentsConfiguration') { + //skip ComponentsConfiguration, because there is a irods server bug that corrupting string with + + } else + if ($name == 'UserComment') { + if (($start = strpos($val, 'GCM_TAG')) !== false) { + $str = substr($val, $start + strlen('GCM_TAG')); + $gcm_tokens = explode(chr(0), $str); + $gcm_counter = 0; + foreach ($gcm_tokens as $gcm_tag) { + if ((strlen($gcm_tag) > 0) && (preg_match('/^[' . chr(32) . '-' . chr(126) . ']+$/', $gcm_tag))) { + $remoteRODSfile->addMeta(new RODSMeta( + 'EXIF.UserComment' . $gcm_counter++, $gcm_tag, '')); + } + } + } else { + if (strlen($val) < 1) + $str = ' '; + //replace no displable char + $str = preg_replace('/[^' . chr(32) . '-' . chr(126) . ']+/', ' ', $val); + $remoteRODSfile->addMeta(new RODSMeta( + 'EXIF.UserComment', $str, '')); + } + } else + if (is_array($val)) { + foreach ($val as $cname => $cval) { + $remoteRODSfile->addMeta(new RODSMeta( + "EXIF.$name." . $cname, $cval, '')); + } + } else + $remoteRODSfile->addMeta(new RODSMeta( + 'EXIF.' . $name, $val, '')); + } +} + +?> diff --git a/apps/files_external/3rdparty/irodsphp/release_notes.txt b/apps/files_external/3rdparty/irodsphp/release_notes.txt new file mode 100644 index 0000000000000000000000000000000000000000..9d109faf8438516cd5deae30ae24fcda750ca778 --- /dev/null +++ b/apps/files_external/3rdparty/irodsphp/release_notes.txt @@ -0,0 +1,14 @@ +*'''Project''': iRODS PHP Library PRODS and PRODS Web Browser +*'''Date''': 06/04/2013 +*'''Release Version''': 3.3.0-beta1 +*'''git tag''': 3.3.0-beta1 + +==News== + +The PRODS PHP Web Browser is also included in this project, and remains supported. Note that the PHP Web Browser functionality has been subsumed by the idrop-web browser and idrop-swing client. + +Please go to [[https://code.renci.org/gf/project/irodsphp/] for the latest news and info. + +Note that the git repository is now the canonical version of the PHP code. The code in the iRODS SVN server is deprecated and will be taken down at the 3.0.0 release point. There may be other versions in Google Code and other places, but these should be considered obsolete. + +Please review release notes in sub projects for details diff --git a/apps/files_external/ajax/google.php b/apps/files_external/ajax/google.php index 70adcb2c2ad4f7a8d10bab181544bef73deb604c..e63b7cb07b96039020ac7bf1663e5edf4cf3f184 100644 --- a/apps/files_external/ajax/google.php +++ b/apps/files_external/ajax/google.php @@ -1,64 +1,42 @@ $scope, 'oauth_callback' => $callback); - $request = OAuthRequest::from_consumer_and_token($consumer, null, 'GET', $url, $params); - $request->sign_request($sigMethod, $consumer, null); - $response = send_signed_request('GET', $url, array($request->to_header()), null, false); - $token = array(); - parse_str($response, $token); - if (isset($token['oauth_token']) && isset($token['oauth_token_secret'])) { - $authUrl = 'https://www.google.com/accounts/OAuthAuthorizeToken?oauth_token='.$token['oauth_token']; - OCP\JSON::success(array('data' => array('url' => $authUrl, - 'request_token' => $token['oauth_token'], - 'request_token_secret' => $token['oauth_token_secret']))); - } else { +if (isset($_POST['client_id']) && isset($_POST['client_secret']) && isset($_POST['redirect'])) { + $client = new Google_Client(); + $client->setClientId($_POST['client_id']); + $client->setClientSecret($_POST['client_secret']); + $client->setRedirectUri($_POST['redirect']); + $client->setScopes(array('https://www.googleapis.com/auth/drive')); + if (isset($_POST['step'])) { + $step = $_POST['step']; + if ($step == 1) { + try { + $authUrl = $client->createAuthUrl(); + OCP\JSON::success(array('data' => array( + 'url' => $authUrl + ))); + } catch (Exception $exception) { OCP\JSON::error(array('data' => array( - 'message' => 'Fetching request tokens failed. Error: '.$response - ))); + 'message' => 'Step 1 failed. Exception: '.$exception->getMessage() + ))); } - break; - case 2: - if (isset($_POST['oauth_verifier']) - && isset($_POST['request_token']) - && isset($_POST['request_token_secret']) - ) { - $token = new OAuthToken($_POST['request_token'], $_POST['request_token_secret']); - $url = 'https://www.google.com/accounts/OAuthGetAccessToken'; - $request = OAuthRequest::from_consumer_and_token($consumer, $token, 'GET', $url, - array('oauth_verifier' => $_POST['oauth_verifier'])); - $request->sign_request($sigMethod, $consumer, $token); - $response = send_signed_request('GET', $url, array($request->to_header()), null, false); - $token = array(); - parse_str($response, $token); - if (isset($token['oauth_token']) && isset($token['oauth_token_secret'])) { - OCP\JSON::success(array('access_token' => $token['oauth_token'], - 'access_token_secret' => $token['oauth_token_secret'])); - } else { - OCP\JSON::error(array('data' => array( - 'message' => 'Fetching access tokens failed. Error: '.$response - ))); - } + } else if ($step == 2 && isset($_POST['code'])) { + try { + $token = $client->authenticate($_POST['code']); + OCP\JSON::success(array('data' => array( + 'token' => $token + ))); + } catch (Exception $exception) { + OCP\JSON::error(array('data' => array( + 'message' => 'Step 2 failed. Exception: '.$exception->getMessage() + ))); } - break; + } } -} +} \ No newline at end of file diff --git a/apps/files_external/appinfo/app.php b/apps/files_external/appinfo/app.php index d786c6c7a2aa33552d1ad30c93bf325f4000f014..dd0b76ed9d7746a8e07c26c44776422820a2ac5f 100644 --- a/apps/files_external/appinfo/app.php +++ b/apps/files_external/appinfo/app.php @@ -15,9 +15,14 @@ OC::$CLASSPATH['OC\Files\Storage\SMB'] = 'files_external/lib/smb.php'; OC::$CLASSPATH['OC\Files\Storage\AmazonS3'] = 'files_external/lib/amazons3.php'; OC::$CLASSPATH['OC\Files\Storage\Dropbox'] = 'files_external/lib/dropbox.php'; OC::$CLASSPATH['OC\Files\Storage\SFTP'] = 'files_external/lib/sftp.php'; +OC::$CLASSPATH['OC\Files\Storage\iRODS'] = 'files_external/lib/irods.php'; OC::$CLASSPATH['OC_Mount_Config'] = 'files_external/lib/config.php'; OCP\App::registerAdmin('files_external', 'settings'); if (OCP\Config::getAppValue('files_external', 'allow_user_mounting', 'yes') == 'yes') { OCP\App::registerPersonal('files_external', 'personal'); } + +// connecting hooks +OCP\Util::connectHook( 'OC_User', 'post_login', 'OC\Files\Storage\iRODS', 'login' ); + diff --git a/apps/files_external/js/google.js b/apps/files_external/js/google.js index 7be1b338e904fb1cba80cea821d28882a465d18b..7e111a95d982a1d320187d1c1a3672d6ab7d0355 100644 --- a/apps/files_external/js/google.js +++ b/apps/files_external/js/google.js @@ -1,69 +1,89 @@ $(document).ready(function() { - $('#externalStorage tbody tr.\\\\OC\\\\Files\\\\Storage\\\\Google').each(function(index, tr) { - setupGoogleRow(tr); - }); - - $('#externalStorage').on('change', '#selectBackend', function() { - if ($(this).val() == '\\OC\\Files\\Storage\\Google') { - setupGoogleRow($('#externalStorage tbody>tr:last').prev('tr')); - } - }); - - function setupGoogleRow(tr) { - var configured = $(tr).find('[data-parameter="configured"]'); + $('#externalStorage tbody tr.\\\\OC\\\\Files\\\\Storage\\\\Google').each(function() { + var configured = $(this).find('[data-parameter="configured"]'); if ($(configured).val() == 'true') { - $(tr).find('.configuration').append(''+t('files_external', 'Access granted')+''); + $(this).find('.configuration input').attr('disabled', 'disabled'); + $(this).find('.configuration').append($('').attr('id', 'access') + .text(t('files_external', 'Access granted'))); } else { - var token = $(tr).find('[data-parameter="token"]'); - var token_secret = $(tr).find('[data-parameter="token_secret"]'); - var params = {}; - window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m, key, value) { - params[key] = value; - }); - if (params['oauth_token'] !== undefined && params['oauth_verifier'] !== undefined && decodeURIComponent(params['oauth_token']) == $(token).val()) { - var statusSpan = $(tr).find('.status span'); - statusSpan.removeClass(); - statusSpan.addClass('waiting'); - $.post(OC.filePath('files_external', 'ajax', 'google.php'), { step: 2, oauth_verifier: params['oauth_verifier'], request_token: $(token).val(), request_token_secret: $(token_secret).val() }, function(result) { - if (result && result.status == 'success') { - $(token).val(result.access_token); - $(token_secret).val(result.access_token_secret); - $(configured).val('true'); - OC.MountConfig.saveStorage(tr); - $(tr).find('.configuration').append(''+t('files_external', 'Access granted')+''); - } else { - OC.dialogs.alert(result.data.message, t('files_external', 'Error configuring Google Drive storage')); - onGoogleInputsChange(tr); - } + var client_id = $(this).find('.configuration [data-parameter="client_id"]').val(); + var client_secret = $(this).find('.configuration [data-parameter="client_secret"]') + .val(); + if (client_id != '' && client_secret != '') { + var params = {}; + window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m, key, value) { + params[key] = value; }); + if (params['code'] !== undefined) { + var tr = $(this); + var token = $(this).find('.configuration [data-parameter="token"]'); + var statusSpan = $(tr).find('.status span'); + statusSpan.removeClass(); + statusSpan.addClass('waiting'); + $.post(OC.filePath('files_external', 'ajax', 'google.php'), + { + step: 2, + client_id: client_id, + client_secret: client_secret, + redirect: location.protocol + '//' + location.host + location.pathname, + code: params['code'], + }, function(result) { + if (result && result.status == 'success') { + $(token).val(result.data.token); + $(configured).val('true'); + OC.MountConfig.saveStorage(tr); + $(tr).find('.configuration input').attr('disabled', 'disabled'); + $(tr).find('.configuration').append($('') + .attr('id', 'access') + .text(t('files_external', 'Access granted'))); + } else { + OC.dialogs.alert(result.data.message, + t('files_external', 'Error configuring Google Drive storage') + ); + } + } + ); + } } else { - onGoogleInputsChange(tr); + onGoogleInputsChange($(this)); } } - } - - $('#externalStorage').on('paste', 'tbody tr.\\\\OC\\\\Files\\\\Storage\\\\Google td', function() { - var tr = $(this).parent(); - setTimeout(function() { - onGoogleInputsChange(tr); - }, 20); }); - $('#externalStorage').on('keyup', 'tbody tr.\\\\OC\\\\Files\\\\Storage\\\\Google td', function() { - onGoogleInputsChange($(this).parent()); - }); + $('#externalStorage').on('paste', 'tbody tr.\\\\OC\\\\Files\\\\Storage\\\\Google td', + function() { + var tr = $(this).parent(); + setTimeout(function() { + onGoogleInputsChange(tr); + }, 20); + } + ); - $('#externalStorage').on('change', 'tbody tr.\\\\OC\\\\Files\\\\Storage\\\\Google .chzn-select', function() { - onGoogleInputsChange($(this).parent().parent()); - }); + $('#externalStorage').on('keyup', 'tbody tr.\\\\OC\\\\Files\\\\Storage\\\\Google td', + function() { + onGoogleInputsChange($(this).parent()); + } + ); + + $('#externalStorage').on('change', 'tbody tr.\\\\OC\\\\Files\\\\Storage\\\\Google .chzn-select' + , function() { + onGoogleInputsChange($(this).parent().parent()); + } + ); function onGoogleInputsChange(tr) { if ($(tr).find('[data-parameter="configured"]').val() != 'true') { var config = $(tr).find('.configuration'); - if ($(tr).find('.mountPoint input').val() != '' && ($(tr).find('.chzn-select').length == 0 || $(tr).find('.chzn-select').val() != null)) { + if ($(tr).find('.mountPoint input').val() != '' + && $(config).find('[data-parameter="client_id"]').val() != '' + && $(config).find('[data-parameter="client_secret"]').val() != '' + && ($(tr).find('.chzn-select').length == 0 + || $(tr).find('.chzn-select').val() != null)) + { if ($(tr).find('.google').length == 0) { - $(config).append(''+t('files_external', 'Grant access')+''); + $(config).append($('').addClass('button google') + .text(t('files_external', 'Grant access'))); } else { $(tr).find('.google').show(); } @@ -77,22 +97,33 @@ $(document).ready(function() { event.preventDefault(); var tr = $(this).parent().parent(); var configured = $(this).parent().find('[data-parameter="configured"]'); - var token = $(this).parent().find('[data-parameter="token"]'); - var token_secret = $(this).parent().find('[data-parameter="token_secret"]'); + var client_id = $(this).parent().find('[data-parameter="client_id"]').val(); + var client_secret = $(this).parent().find('[data-parameter="client_secret"]').val(); var statusSpan = $(tr).find('.status span'); - $.post(OC.filePath('files_external', 'ajax', 'google.php'), { step: 1, callback: location.protocol + '//' + location.host + location.pathname }, function(result) { - if (result && result.status == 'success') { - $(configured).val('false'); - $(token).val(result.data.request_token); - $(token_secret).val(result.data.request_token_secret); - OC.MountConfig.saveStorage(tr); - statusSpan.removeClass(); - statusSpan.addClass('waiting'); - window.location = result.data.url; - } else { - OC.dialogs.alert(result.data.message, t('files_external', 'Error configuring Google Drive storage')); - } - }); + if (client_id != '' && client_secret != '') { + var token = $(this).parent().find('[data-parameter="token"]'); + $.post(OC.filePath('files_external', 'ajax', 'google.php'), + { + step: 1, + client_id: client_id, + client_secret: client_secret, + redirect: location.protocol + '//' + location.host + location.pathname, + }, function(result) { + if (result && result.status == 'success') { + $(configured).val('false'); + $(token).val('false'); + OC.MountConfig.saveStorage(tr); + statusSpan.removeClass(); + statusSpan.addClass('waiting'); + window.location = result.data.url; + } else { + OC.dialogs.alert(result.data.message, + t('files_external', 'Error configuring Google Drive storage') + ); + } + } + ); + } }); -}); +}); \ No newline at end of file diff --git a/apps/files_external/l10n/uk.php b/apps/files_external/l10n/uk.php index 34d19af0ee94ac061e583979c4dc7ba9521fb3a8..8783896d289d7201bc0e6c3b605307244105bf38 100644 --- a/apps/files_external/l10n/uk.php +++ b/apps/files_external/l10n/uk.php @@ -6,6 +6,7 @@ "Error configuring Google Drive storage" => "Помилка при налаштуванні сховища Google Drive", "Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "Попередження: Клієнт \"smbclient\" не встановлено. Під'єднанатися до CIFS/SMB тек неможливо. Попрохайте системного адміністратора встановити його.", "Warning: The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "Попередження: Підтримка FTP в PHP не увімкнута чи не встановлена. Під'єднанатися до FTP тек неможливо. Попрохайте системного адміністратора встановити її.", +"Warning: The Curl support in PHP is not enabled or installed. Mounting of ownCloud / WebDAV or GoogleDrive is not possible. Please ask your system administrator to install it." => "Попередження: Підтримка CURL в PHP не увімкнута чи не встановлена. Під'єднанатися OwnCloud / WebDav або Google Drive неможливе. Попрохайте системного адміністратора встановити її.", "External Storage" => "Зовнішні сховища", "Folder name" => "Ім'я теки", "External storage" => "Зовнішнє сховище", diff --git a/apps/files_external/lib/amazons3.php b/apps/files_external/lib/amazons3.php index 7bcefd4176c94ac9da2e6a690c34a4a7b09cd98e..f4d1940b184140ad20e6b659a0cf1d790beacefd 100644 --- a/apps/files_external/lib/amazons3.php +++ b/apps/files_external/lib/amazons3.php @@ -4,7 +4,9 @@ * ownCloud * * @author Michael Gapczynski + * @author Christian Berendt * @copyright 2012 Michael Gapczynski mtgap@owncloud.com + * @copyright 2013 Christian Berendt berendt@b1-systems.de * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE @@ -22,164 +24,325 @@ namespace OC\Files\Storage; -require_once 'aws-sdk/sdk.class.php'; +set_include_path(get_include_path() . PATH_SEPARATOR . + \OC_App::getAppPath('files_external') . '/3rdparty/aws-sdk-php'); +require 'aws-autoloader.php'; + +use Aws\S3\S3Client; +use Aws\S3\Exception\S3Exception; class AmazonS3 extends \OC\Files\Storage\Common { - private $s3; + /** + * @var \Aws\S3\S3Client + */ + private $connection; + /** + * @var string + */ private $bucket; - private $objects = array(); - private $id; + /** + * @var array + */ + private static $tmpFiles = array(); + /** + * @var bool + */ + private $test = false; + /** + * @var int + */ + private $timeout = 15; - private static $tempFiles = array(); + private function normalizePath($path) { + $path = trim($path, '/'); - // TODO Update to new AWS SDK + if (!$path) { + $path = '.'; + } - public function __construct($params) { - if (isset($params['key']) && isset($params['secret']) && isset($params['bucket'])) { - $this->id = 'amazon::' . $params['key'] . md5($params['secret']); - $this->s3 = new \AmazonS3(array('key' => $params['key'], 'secret' => $params['secret'])); - $this->bucket = $params['bucket']; - } else { - throw new \Exception(); + return $path; + } + + private function testTimeout() { + if ($this->test) { + sleep($this->timeout); } } - private function getObject($path) { - if (array_key_exists($path, $this->objects)) { - return $this->objects[$path]; - } else { - $response = $this->s3->get_object_metadata($this->bucket, $path); - if ($response) { - $this->objects[$path] = $response; - return $response; - // This object could be a folder, a '/' must be at the end of the path - } else if (substr($path, -1) != '/') { - $response = $this->s3->get_object_metadata($this->bucket, $path . '/'); - if ($response) { - $this->objects[$path] = $response; - return $response; - } + public function __construct($params) { + if (!isset($params['key']) || !isset($params['secret']) || !isset($params['bucket'])) { + throw new \Exception("Access Key, Secret and Bucket have to be configured."); + } + + $this->id = 'amazon::' . $params['key'] . md5($params['secret']); + + $this->bucket = $params['bucket']; + $scheme = ($params['use_ssl'] === 'false') ? 'http' : 'https'; + $this->test = ( isset($params['test'])) ? true : false; + $this->timeout = ( ! isset($params['timeout'])) ? 15 : $params['timeout']; + $params['region'] = ( ! isset($params['region'])) ? 'eu-west-1' : $params['region']; + $params['hostname'] = ( !isset($params['hostname'])) ? 's3.amazonaws.com' : $params['hostname']; + if (!isset($params['port'])) { + $params['port'] = ($params['use_ssl'] === 'false') ? 80 : 443; + } + $base_url = $scheme.'://'.$params['hostname'].':'.$params['port'].'/'; + + $this->connection = S3Client::factory(array( + 'key' => $params['key'], + 'secret' => $params['secret'], + 'base_url' => $base_url, + 'region' => $params['region'] + )); + + if (!$this->connection->isValidBucketName($this->bucket)) { + throw new \Exception("The configured bucket name is invalid."); + } + + if (!$this->connection->doesBucketExist($this->bucket)) { + try { + $result = $this->connection->createBucket(array( + 'Bucket' => $this->bucket + )); + $this->connection->waitUntilBucketExists(array( + 'Bucket' => $this->bucket, + 'waiter.interval' => 1, + 'waiter.max_attempts' => 15 + )); + $this->testTimeout(); + } catch (S3Exception $e) { + \OCP\Util::writeLog('files_external', $e->getMessage(), \OCP\Util::ERROR); + throw new \Exception("Creation of bucket failed."); } } - return false; - } - public function getId() { - return $this->id; + if (!$this->file_exists('.')) { + $result = $this->connection->putObject(array( + 'Bucket' => $this->bucket, + 'Key' => '.', + 'Body' => '', + 'ContentType' => 'httpd/unix-directory', + 'ContentLength' => 0 + )); + $this->testTimeout(); + } } public function mkdir($path) { - // Folders in Amazon S3 are 0 byte objects with a '/' at the end of the name - if (substr($path, -1) != '/') { + $path = $this->normalizePath($path); + + if ($this->is_dir($path)) { + return false; + } + + try { + $result = $this->connection->putObject(array( + 'Bucket' => $this->bucket, + 'Key' => $path . '/', + 'Body' => '', + 'ContentType' => 'httpd/unix-directory', + 'ContentLength' => 0 + )); + $this->testTimeout(); + } catch (S3Exception $e) { + \OCP\Util::writeLog('files_external', $e->getMessage(), \OCP\Util::ERROR); + return false; + } + + return true; + } + + public function file_exists($path) { + $path = $this->normalizePath($path); + + if (!$path) { + $path = '.'; + } else if ($path != '.' && $this->is_dir($path)) { $path .= '/'; } - $response = $this->s3->create_object($this->bucket, $path, array('body' => '')); - return $response->isOK(); + + try { + $result = $this->connection->doesObjectExist( + $this->bucket, + $path + ); + } catch (S3Exception $e) { + \OCP\Util::writeLog('files_external', $e->getMessage(), \OCP\Util::ERROR); + return false; + } + + return $result; } + public function rmdir($path) { - if (substr($path, -1) != '/') { - $path .= '/'; + $path = $this->normalizePath($path); + + if (!$this->file_exists($path)) { + return false; } - return $this->unlink($path); + + $dh = $this->opendir($path); + while ($file = readdir($dh)) { + if ($file === '.' || $file === '..') { + continue; + } + + if ($this->is_dir($path . '/' . $file)) { + $this->rmdir($path . '/' . $file); + } else { + $this->unlink($path . '/' . $file); + } + } + + try { + $result = $this->connection->deleteObject(array( + 'Bucket' => $this->bucket, + 'Key' => $path . '/' + )); + $this->testTimeout(); + } catch (S3Exception $e) { + \OCP\Util::writeLog('files_external', $e->getMessage(), \OCP\Util::ERROR); + return false; + } + + return true; } public function opendir($path) { - if ($path == '' || $path == '/') { - // Use the '/' delimiter to only fetch objects inside the folder - $opt = array('delimiter' => '/'); - } else { - if (substr($path, -1) != '/') { - $path .= '/'; - } - $opt = array('delimiter' => '/', 'prefix' => $path); + $path = $this->normalizePath($path); + + if ($path === '.') { + $path = ''; + } else if ($path) { + $path .= '/'; } - $response = $this->s3->list_objects($this->bucket, $opt); - if ($response->isOK()) { + + try { $files = array(); - foreach ($response->body->Contents as $object) { - // The folder being opened also shows up in the list of objects, don't add it to the files - if ($object->Key != $path) { - $files[] = basename($object->Key); + $result = $this->connection->getIterator('ListObjects', array( + 'Bucket' => $this->bucket, + 'Delimiter' => '/', + 'Prefix' => $path + ), array('return_prefixes' => true)); + + foreach ($result as $object) { + $file = basename( + isset($object['Key']) ? $object['Key'] : $object['Prefix'] + ); + + if ($file != basename($path)) { + $files[] = $file; } } - // Sub folders show up as CommonPrefixes - foreach ($response->body->CommonPrefixes as $object) { - $files[] = basename($object->Prefix); - } + \OC\Files\Stream\Dir::register('amazons3' . $path, $files); + return opendir('fakedir://amazons3' . $path); + } catch (S3Exception $e) { + \OCP\Util::writeLog('files_external', $e->getMessage(), \OCP\Util::ERROR); + return false; } - return false; } public function stat($path) { - if ($path == '' || $path == '/') { - $stat['size'] = $this->s3->get_bucket_filesize($this->bucket); - $stat['atime'] = time(); - $stat['mtime'] = $stat['atime']; - } else if ($object = $this->getObject($path)) { - $stat['size'] = $object['Size']; + $path = $this->normalizePath($path); + + try { + if ($this->is_dir($path) && $path != '.') { + $path .= '/'; + } + + $result = $this->connection->headObject(array( + 'Bucket' => $this->bucket, + 'Key' => $path + )); + + $stat = array(); + $stat['size'] = $result['ContentLength'] ? $result['ContentLength'] : 0; + if ($result['Metadata']['lastmodified']) { + $stat['mtime'] = strtotime($result['Metadata']['lastmodified']); + } else { + $stat['mtime'] = strtotime($result['LastModified']); + } $stat['atime'] = time(); - $stat['mtime'] = strtotime($object['LastModified']); - } - if (isset($stat)) { + return $stat; + } catch(S3Exception $e) { + \OCP\Util::writeLog('files_external', $e->getMessage(), \OCP\Util::ERROR); + return false; } - return false; } public function filetype($path) { - if ($path == '' || $path == '/') { - return 'dir'; - } else { - $object = $this->getObject($path); - if ($object) { - // Amazon S3 doesn't have typical folders, this is an alternative method to detect a folder - if (substr($object['Key'], -1) == '/' && $object['Size'] == 0) { - return 'dir'; - } else { - return 'file'; - } + $path = $this->normalizePath($path); + + try { + if ($path != '.' && $this->connection->doesObjectExist($this->bucket, $path)) { + return 'file'; } + + if ($path != '.') { + $path .= '/'; + } + + if ($this->connection->doesObjectExist($this->bucket, $path)) { + return 'dir'; + } + } catch (S3Exception $e) { + \OCP\Util::writeLog('files_external', $e->getMessage(), \OCP\Util::ERROR); + return false; } + return false; } public function isReadable($path) { - // TODO Check acl and determine who grantee is return true; } public function isUpdatable($path) { - // TODO Check acl and determine who grantee is return true; } - public function file_exists($path) { - if ($this->filetype($path) == 'dir' && substr($path, -1) != '/') { - $path .= '/'; + public function unlink($path) { + $path = $this->normalizePath($path); + + try { + $result = $this->connection->deleteObject(array( + 'Bucket' => $this->bucket, + 'Key' => $path + )); + $this->testTimeout(); + } catch (S3Exception $e) { + \OCP\Util::writeLog('files_external', $e->getMessage(), \OCP\Util::ERROR); + return false; } - return $this->s3->if_object_exists($this->bucket, $path); - } - public function unlink($path) { - $response = $this->s3->delete_object($this->bucket, $path); - return $response->isOK(); + return true; } public function fopen($path, $mode) { + $path = $this->normalizePath($path); + switch ($mode) { case 'r': case 'rb': $tmpFile = \OC_Helper::tmpFile(); - $handle = fopen($tmpFile, 'w'); - $response = $this->s3->get_object($this->bucket, $path, array('fileDownload' => $handle)); - if ($response->isOK()) { - return fopen($tmpFile, 'r'); + self::$tmpFiles[$tmpFile] = $path; + + try { + $result = $this->connection->getObject(array( + 'Bucket' => $this->bucket, + 'Key' => $path, + 'SaveAs' => $tmpFile + )); + } catch (S3Exception $e) { + \OCP\Util::writeLog('files_external', $e->getMessage(), \OCP\Util::ERROR); + return false; } - break; + + return fopen($tmpFile, 'r'); case 'w': case 'wb': case 'a': @@ -203,45 +366,147 @@ class AmazonS3 extends \OC\Files\Storage\Common { $source = $this->fopen($path, 'r'); file_put_contents($tmpFile, $source); } - self::$tempFiles[$tmpFile] = $path; + self::$tmpFiles[$tmpFile] = $path; + return fopen('close://' . $tmpFile, $mode); } return false; } - public function writeBack($tmpFile) { - if (isset(self::$tempFiles[$tmpFile])) { - $handle = fopen($tmpFile, 'r'); - $response = $this->s3->create_object($this->bucket, - self::$tempFiles[$tmpFile], - array('fileUpload' => $handle)); - if ($response->isOK()) { - unlink($tmpFile); - } - } - } - public function getMimeType($path) { - if ($this->filetype($path) == 'dir') { + $path = $this->normalizePath($path); + + if ($this->is_dir($path)) { return 'httpd/unix-directory'; - } else { - $object = $this->getObject($path); - if ($object) { - return $object['ContentType']; + } else if ($this->file_exists($path)) { + try { + $result = $this->connection->headObject(array( + 'Bucket' => $this->bucket, + 'Key' => $path + )); + } catch (S3Exception $e) { + \OCP\Util::writeLog('files_external', $e->getMessage(), \OCP\Util::ERROR); + return false; } + + return $result['ContentType']; } return false; } public function touch($path, $mtime = null) { - if (is_null($mtime)) { - $mtime = time(); + $path = $this->normalizePath($path); + + $metadata = array(); + if (!is_null($mtime)) { + $metadata = array('lastmodified' => $mtime); } - if ($this->filetype($path) == 'dir' && substr($path, -1) != '/') { - $path .= '/'; + + try { + if ($this->file_exists($path)) { + if ($this->is_dir($path) && $path != '.') { + $path .= '/'; + } + $result = $this->connection->copyObject(array( + 'Bucket' => $this->bucket, + 'Key' => $path, + 'Metadata' => $metadata, + 'CopySource' => $this->bucket . '/' . $path + )); + $this->testTimeout(); + } else { + $result = $this->connection->putObject(array( + 'Bucket' => $this->bucket, + 'Key' => $path, + 'Metadata' => $metadata + )); + $this->testTimeout(); + } + } catch (S3Exception $e) { + \OCP\Util::writeLog('files_external', $e->getMessage(), \OCP\Util::ERROR); + return false; + } + + return true; + } + + public function copy($path1, $path2) { + $path1 = $this->normalizePath($path1); + $path2 = $this->normalizePath($path2); + + if ($this->is_file($path1)) { + try { + $result = $this->connection->copyObject(array( + 'Bucket' => $this->bucket, + 'Key' => $path2, + 'CopySource' => $this->bucket . '/' . $path1 + )); + $this->testTimeout(); + } catch (S3Exception $e) { + \OCP\Util::writeLog('files_external', $e->getMessage(), \OCP\Util::ERROR); + return false; + } + } else { + if ($this->file_exists($path2)) { + return false; + } + + try { + $result = $this->connection->copyObject(array( + 'Bucket' => $this->bucket, + 'Key' => $path2 . '/', + 'CopySource' => $this->bucket . '/' . $path1 . '/' + )); + $this->testTimeout(); + } catch (S3Exception $e) { + \OCP\Util::writeLog('files_external', $e->getMessage(), \OCP\Util::ERROR); + return false; + } + + $dh = $this->opendir($path1); + while ($file = readdir($dh)) { + if ($file === '.' || $file === '..') { + continue; + } + + $source = $path1 . '/' . $file; + $target = $path2 . '/' . $file; + $this->copy($source, $target); + } + } + + return true; + } + + public function rename($path1, $path2) { + $path1 = $this->normalizePath($path1); + $path2 = $this->normalizePath($path2); + + if ($this->is_file($path1)) { + if ($this->copy($path1, $path2) === false) { + return false; + } + + if ($this->unlink($path1) === false) { + $this->unlink($path2); + return false; + } + } else { + if ($this->file_exists($path2)) { + return false; + } + + if ($this->copy($path1, $path2) === false) { + return false; + } + + if ($this->rmdir($path1) === false) { + $this->rmdir($path2); + return false; + } } - $response = $this->s3->update_object($this->bucket, $path, array('meta' => array('LastModified' => $mtime))); - return $response->isOK(); + + return true; } public function test() { @@ -252,4 +517,33 @@ class AmazonS3 extends \OC\Files\Storage\Common { return false; } + public function getId() { + return $this->id; + } + + public function getConnection() { + return $this->connection; + } + + public function writeBack($tmpFile) { + if (!isset(self::$tmpFiles[$tmpFile])) { + return false; + } + + try { + $result= $this->connection->putObject(array( + 'Bucket' => $this->bucket, + 'Key' => self::$tmpFiles[$tmpFile], + 'SourceFile' => $tmpFile, + 'ContentType' => \OC_Helper::getMimeType($tmpFile), + 'ContentLength' => filesize($tmpFile) + )); + $this->testTimeout(); + + unlink($tmpFile); + } catch (S3Exception $e) { + \OCP\Util::writeLog('files_external', $e->getMessage(), \OCP\Util::ERROR); + return false; + } + } } diff --git a/apps/files_external/lib/config.php b/apps/files_external/lib/config.php index 4cb9b7c8ecdc4751b24a3828a5b9b1bd769a740c..e3a2cf0b30b347a7e136d055e79bdb5896318b65 100755 --- a/apps/files_external/lib/config.php +++ b/apps/files_external/lib/config.php @@ -34,7 +34,7 @@ class OC_Mount_Config { * If the configuration parameter should be secret, add a '*' to the beginning of the value * If the configuration parameter is a boolean, add a '!' to the beginning of the value * If the configuration parameter is optional, add a '&' to the beginning of the value - * If the configuration parameter is hidden, add a '#' to the begining of the value + * If the configuration parameter is hidden, add a '#' to the beginning of the value * @return array */ public static function getBackends() { @@ -47,9 +47,14 @@ class OC_Mount_Config { $backends['\OC\Files\Storage\AmazonS3']=array( 'backend' => 'Amazon S3', 'configuration' => array( - 'key' => 'Key', - 'secret' => '*Secret', - 'bucket' => 'Bucket')); + 'key' => 'Access Key', + 'secret' => '*Secret Key', + 'bucket' => 'Bucket', + 'hostname' => 'Hostname (optional)', + 'port' => 'Port (optional)', + 'region' => 'Region (optional)', + 'use_ssl' => '!Enable SSL', + 'use_path_style' => '!Enable Path Style')); $backends['\OC\Files\Storage\Dropbox']=array( 'backend' => 'Dropbox', @@ -74,8 +79,9 @@ class OC_Mount_Config { 'backend' => 'Google Drive', 'configuration' => array( 'configured' => '#configured', - 'token' => '#token', - 'token_secret' => '#token secret'), + 'client_id' => 'Client ID', + 'client_secret' => 'Client secret', + 'token' => '#token'), 'custom' => 'google'); $backends['\OC\Files\Storage\SWIFT']=array( @@ -113,6 +119,17 @@ class OC_Mount_Config { 'password' => '*Password', 'root' => '&Root')); + $backends['\OC\Files\Storage\iRODS']=array( + 'backend' => 'iRODS', + 'configuration' => array( + 'host' => 'Host', + 'port' => 'Port', + 'use_logon_credentials' => '!Use ownCloud login', + 'user' => 'Username', + 'password' => '*Password', + 'auth_mode' => 'Authentication Mode', + 'zone' => 'Zone')); + return($backends); } diff --git a/apps/files_external/lib/google.php b/apps/files_external/lib/google.php index ec7de3f35709dec0e879dbfd42d3e14f957a70d4..ef8dd6d8cad588653991b194bbf5753c134c9529 100644 --- a/apps/files_external/lib/google.php +++ b/apps/files_external/lib/google.php @@ -1,437 +1,409 @@ . -*/ + * ownCloud + * + * @author Michael Gapczynski + * @copyright 2012 Michael Gapczynski mtgap@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
-
+ src="" alt="getName()); ?>" />
+
-
+
t('%s shared the folder %s with you',
@@ -95,6 +93,6 @@
diff --git a/apps/files_trashbin/ajax/delete.php b/apps/files_trashbin/ajax/delete.php
index 16c39ab385382507cdd4a6069c31a2d4cca66805..92361b65f63e01fc7120d0cf6a622c53e2671d71 100644
--- a/apps/files_trashbin/ajax/delete.php
+++ b/apps/files_trashbin/ajax/delete.php
@@ -13,7 +13,7 @@ $success = array();
$i = 0;
foreach ($list as $file) {
- if ( $dirlisting=='0') {
+ if ( $dirlisting === '0') {
$delimiter = strrpos($file, '.d');
$filename = substr($file, 0, $delimiter);
$timestamp = substr($file, $delimiter+2);
diff --git a/apps/files_trashbin/ajax/isEmpty.php b/apps/files_trashbin/ajax/isEmpty.php
new file mode 100644
index 0000000000000000000000000000000000000000..2e54c7e77b989ec2c518201b76eea845d0930763
--- /dev/null
+++ b/apps/files_trashbin/ajax/isEmpty.php
@@ -0,0 +1,14 @@
+ array("isEmpty" => $trashStatus)));
+
+
diff --git a/apps/files_trashbin/ajax/undelete.php b/apps/files_trashbin/ajax/undelete.php
index 9d78f166765b13f44344bfb1a3361cd8aec6f7d2..e39004cc0d54ee5758e6d6251d0690b82d1c7f68 100644
--- a/apps/files_trashbin/ajax/undelete.php
+++ b/apps/files_trashbin/ajax/undelete.php
@@ -12,7 +12,7 @@ $success = array();
$i = 0;
foreach ($list as $file) {
- if ( $dirlisting=='0') {
+ if ( $dirlisting === '0') {
$delimiter = strrpos($file, '.d');
$filename = substr($file, 0, $delimiter);
$timestamp = substr($file, $delimiter+2);
diff --git a/apps/files_trashbin/index.php b/apps/files_trashbin/index.php
index 6f1c364737e1939ba462bc7cfa9ace10ca3c68e7..2dbaefe7a78ebdca37331f3619f0a7db4e3b2bb1 100644
--- a/apps/files_trashbin/index.php
+++ b/apps/files_trashbin/index.php
@@ -24,7 +24,7 @@ if ($dir) {
$dirContent = $view->opendir($dir);
$i = 0;
while($entryName = readdir($dirContent)) {
- if ( $entryName != '.' && $entryName != '..' ) {
+ if (!\OC\Files\Filesystem::isIgnoredDir($entryName)) {
$pos = strpos($dir.'/', '/', 1);
$tmp = substr($dir, 0, $pos);
$pos = strrpos($tmp, '.d');
@@ -54,13 +54,13 @@ foreach ($result as $r) {
$i['timestamp'] = $r['timestamp'];
$i['mimetype'] = $r['mime'];
$i['type'] = $r['type'];
- if ($i['type'] == 'file') {
+ if ($i['type'] === 'file') {
$fileinfo = pathinfo($r['id']);
$i['basename'] = $fileinfo['filename'];
$i['extension'] = isset($fileinfo['extension']) ? ('.'.$fileinfo['extension']) : '';
}
$i['directory'] = $r['location'];
- if ($i['directory'] == '/') {
+ if ($i['directory'] === '/') {
$i['directory'] = '';
}
$i['permissions'] = OCP\PERMISSION_READ;
@@ -68,9 +68,9 @@ foreach ($result as $r) {
}
function fileCmp($a, $b) {
- if ($a['type'] == 'dir' and $b['type'] != 'dir') {
+ if ($a['type'] === 'dir' and $b['type'] !== 'dir') {
return -1;
- } elseif ($a['type'] != 'dir' and $b['type'] == 'dir') {
+ } elseif ($a['type'] !== 'dir' and $b['type'] === 'dir') {
return 1;
} else {
return strnatcasecmp($a['name'], $b['name']);
@@ -83,7 +83,7 @@ usort($files, "fileCmp");
$pathtohere = '';
$breadcrumb = array();
foreach (explode('/', $dir) as $i) {
- if ($i != '') {
+ if ($i !== '') {
if ( preg_match('/^(.+)\.d[0-9]+$/', $i, $match) ) {
$name = $match[1];
} else {
diff --git a/apps/files_trashbin/js/trash.js b/apps/files_trashbin/js/trash.js
index 87dfea491e76afd917c9ba0bcad616be57612b9f..c3c958b07a77ef9e17f497bd018725ff561a003c 100644
--- a/apps/files_trashbin/js/trash.js
+++ b/apps/files_trashbin/js/trash.js
@@ -8,6 +8,7 @@ $(document).ready(function() {
var undeleteAction = $('tr').filterAttr('data-file',filename).children("td.date");
var files = tr.attr('data-file');
undeleteAction[0].innerHTML = undeleteAction[0].innerHTML+spinner;
+ disableActions();
$.post(OC.filePath('files_trashbin','ajax','undelete.php'),
{files:JSON.stringify([files]), dirlisting:tr.attr('data-dirlisting') },
function(result){
@@ -15,9 +16,10 @@ $(document).ready(function() {
var row = document.getElementById(result.data.success[i].filename);
row.parentNode.removeChild(row);
}
- if (result.status != 'success') {
+ if (result.status !== 'success') {
OC.dialogs.alert(result.data.message, t('core', 'Error'));
}
+ enableActions();
});
});
@@ -34,7 +36,7 @@ $(document).ready(function() {
var newHTML = '';
var files = tr.attr('data-file');
deleteAction[0].outerHTML = newHTML;
-
+ disableActions();
$.post(OC.filePath('files_trashbin','ajax','delete.php'),
{files:JSON.stringify([files]), dirlisting:tr.attr('data-dirlisting') },
function(result){
@@ -42,9 +44,10 @@ $(document).ready(function() {
var row = document.getElementById(result.data.success[i].filename);
row.parentNode.removeChild(row);
}
- if (result.status != 'success') {
+ if (result.status !== 'success') {
OC.dialogs.alert(result.data.message, t('core', 'Error'));
}
+ enableActions();
});
});
@@ -72,7 +75,7 @@ $(document).ready(function() {
var rows = $(this).parent().parent().parent().children('tr');
for (var i = start; i < end; i++) {
$(rows).each(function(index) {
- if (index == i) {
+ if (index === i) {
var checkbox = $(this).children().children('input:checkbox');
$(checkbox).attr('checked', 'checked');
$(checkbox).parent().parent().addClass('selected');
@@ -98,7 +101,7 @@ $(document).ready(function() {
var files=getSelectedFiles('file');
var fileslist = JSON.stringify(files);
var dirlisting=getSelectedFiles('dirlisting')[0];
-
+ disableActions();
for (var i=0; it('Nothing in here. Your trash bin is empty!'))?>
diff --git a/apps/files_trashbin/templates/part.breadcrumb.php b/apps/files_trashbin/templates/part.breadcrumb.php
index 85bb16ffa2d2822a90d3d9e315e45256ce9680f0..8ecab58e5c809c462580d8e31f28fe3ad393b994 100644
--- a/apps/files_trashbin/templates/part.breadcrumb.php
+++ b/apps/files_trashbin/templates/part.breadcrumb.php
@@ -12,7 +12,7 @@
- svg"
+
diff --git a/apps/files_trashbin/templates/part.list.php b/apps/files_trashbin/templates/part.list.php
index 94a8eec9515669533f9846edb6c77b6bd3c98ef2..254b08dd36a31e39d0a289ef35e7ded6547fa255 100644
--- a/apps/files_trashbin/templates/part.list.php
+++ b/apps/files_trashbin/templates/part.list.php
@@ -7,7 +7,7 @@
$name = \OCP\Util::encodePath($file['name']);
$directory = \OCP\Util::encodePath($file['directory']); ?>
+
style="background-image:url()"
style="background-image:url()"
>
-
+
@@ -43,14 +43,14 @@
-
+
-
+
diff --git a/apps/files_versions/ajax/getVersions.php b/apps/files_versions/ajax/getVersions.php
index f9174c45a650a2acd4f44c42c4f3fbc05c7f7749..4f48f71d8ca3b756e46c8066133e0b5bbb0130ca 100644
--- a/apps/files_versions/ajax/getVersions.php
+++ b/apps/files_versions/ajax/getVersions.php
@@ -2,24 +2,22 @@
OCP\JSON::checkAppEnabled('files_versions');
$source = $_GET['source'];
+$start = $_GET['start'];
list ($uid, $filename) = OCA\Files_Versions\Storage::getUidAndFilename($source);
$count = 5; //show the newest revisions
-if( ($versions = OCA\Files_Versions\Storage::getVersions($uid, $filename, $count)) ) {
+if( ($versions = OCA\Files_Versions\Storage::getVersions($uid, $filename)) ) {
- $versionsFormatted = array();
-
- foreach ( $versions AS $version ) {
- $versionsFormatted[] = OCP\Util::formatDate( $version['version'] );
+ $endReached = false;
+ if (count($versions) <= $start+$count) {
+ $endReached = true;
}
- $versionsSorted = array_reverse( $versions );
+ $versions = array_slice($versions, $start, $count);
- if ( !empty( $versionsSorted ) ) {
- OCP\JSON::encodedPrint($versionsSorted);
- }
+ \OCP\JSON::success(array('data' => array('versions' => $versions, 'endReached' => $endReached)));
} else {
- return;
+ \OCP\JSON::success(array('data' => array('versions' => false, 'endReached' => true)));
}
diff --git a/apps/files_versions/ajax/rollbackVersion.php b/apps/files_versions/ajax/rollbackVersion.php
index 284b46ee09331867fea83d8d1f6e6f958ab6feab..900d8cd6e285d1995bd155dd8497b89c756e97ef 100644
--- a/apps/files_versions/ajax/rollbackVersion.php
+++ b/apps/files_versions/ajax/rollbackVersion.php
@@ -3,8 +3,6 @@
OCP\JSON::checkAppEnabled('files_versions');
OCP\JSON::callCheck();
-$userDirectory = "/".OCP\USER::getUser()."/files";
-
$file = $_GET['file'];
$revision=(int)$_GET['revision'];
diff --git a/apps/files_versions/appinfo/app.php b/apps/files_versions/appinfo/app.php
index 0d0850e186432f2e037262826ab432a576b178d2..5b1e464ba6cadc72f861d86a7ae74f5d3dadb5fb 100644
--- a/apps/files_versions/appinfo/app.php
+++ b/apps/files_versions/appinfo/app.php
@@ -6,6 +6,7 @@ OC::$CLASSPATH['OCA\Files_Versions\Hooks'] = 'files_versions/lib/hooks.php';
OC::$CLASSPATH['OCA\Files_Versions\Capabilities'] = 'files_versions/lib/capabilities.php';
OCP\Util::addscript('files_versions', 'versions');
+OCP\Util::addStyle('files_versions', 'versions');
// Listen to write signals
OCP\Util::connectHook('OC_Filesystem', 'write', "OCA\Files_Versions\Hooks", "write_hook");
diff --git a/apps/files_versions/css/versions.css b/apps/files_versions/css/versions.css
index a9b259ce1405ac7da4393a9baee111186f08c710..6146eda337246274b7055e7a90fb006167cb15df 100644
--- a/apps/files_versions/css/versions.css
+++ b/apps/files_versions/css/versions.css
@@ -1,16 +1,44 @@
-#history {
- margin: 2em 2em 0;
+#found_versions li {
+ width: 100%;
+ cursor: default;
+ height: 36px;
+ float: left;
+ border-bottom: 1px solid rgba(100,100,100,.1);
+}
+#found_versions li:last-child {
+ border-bottom: none;
+}
+
+#found_versions li > * {
+ padding: 7px;
+ float: left;
+ vertical-align: top;
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
+ filter: alpha(opacity=50);
+ opacity: .5;
+}
+#found_versions li > *:hover,
+#found_versions li > *:focus {
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+ filter: alpha(opacity=100);
+ opacity: 1;
}
-#feedback-messages h3 {
- font-size: 1.3em;
- font-style: italic;
+#found_versions img {
+ cursor: pointer;
+ padding-right: 4px;
}
-.success {
- color: green;
+#found_versions .versionDate {
+ min-width: 100px;
+ vertical-align: text-bottom;
}
-.failure {
- color: red;
-}
\ No newline at end of file
+#found_versions .revertVersion {
+ cursor: pointer;
+ float: right;
+}
+
+.drop-versions #makelink {
+ float: left;
+}
diff --git a/apps/files_versions/download.php b/apps/files_versions/download.php
new file mode 100644
index 0000000000000000000000000000000000000000..040a662e61bf70511d7fdffa716d462d8d812a4e
--- /dev/null
+++ b/apps/files_versions/download.php
@@ -0,0 +1,50 @@
+.
+*
+*/
+
+OCP\JSON::checkAppEnabled('files_versions');
+//OCP\JSON::callCheck();
+
+$file = $_GET['file'];
+$revision=(int)$_GET['revision'];
+
+list($uid, $filename) = OCA\Files_Versions\Storage::getUidAndFilename($file);
+
+$versionName = '/'.$uid.'/files_versions/'.$filename.'.v'.$revision;
+
+$view = new OC\Files\View('/');
+
+$ftype = $view->getMimeType('/'.$uid.'/files/'.$filename);
+
+header('Content-Type:'.$ftype);
+if ( preg_match( "/MSIE/", $_SERVER["HTTP_USER_AGENT"] ) ) {
+ header( 'Content-Disposition: attachment; filename="' . rawurlencode( basename($filename) ) . '"' );
+} else {
+ header( 'Content-Disposition: attachment; filename*=UTF-8\'\'' . rawurlencode( basename($filename) )
+ . '; filename="' . rawurlencode( basename($filename) ) . '"' );
+}
+OCP\Response::disableCaching();
+header('Content-Length: '.$view->filesize($versionName));
+
+OC_Util::obEnd();
+
+$view->readfile($versionName);
diff --git a/apps/files_versions/history.php b/apps/files_versions/history.php
deleted file mode 100644
index 719a7208fedb1effff25b7b8366812279952fa73..0000000000000000000000000000000000000000
--- a/apps/files_versions/history.php
+++ /dev/null
@@ -1,78 +0,0 @@
-.
- *
- */
-
-OCP\User::checkLoggedIn( );
-OCP\Util::addStyle('files_versions', 'versions');
-$tmpl = new OCP\Template( 'files_versions', 'history', 'user' );
-$l = OC_L10N::get('files_versions');
-
-if ( isset( $_GET['path'] ) ) {
-
- $path = $_GET['path'];
- $tmpl->assign( 'path', $path );
- $versions = new OCA\Files_Versions\Storage();
-
- // roll back to old version if button clicked
- if( isset( $_GET['revert'] ) ) {
-
- if( $versions->rollback( $path, $_GET['revert'] ) ) {
-
- $tmpl->assign( 'outcome_stat', $l->t('success') );
-
- $message = $l->t('File %s was reverted to version %s',
- array($_GET['path'], OCP\Util::formatDate( doubleval($_GET['revert']) ) ) );
-
- $tmpl->assign( 'outcome_msg', $message);
-
- } else {
-
- $tmpl->assign( 'outcome_stat', $l->t('failure') );
-
- $message = $l->t('File %s could not be reverted to version %s',
- array($_GET['path'], OCP\Util::formatDate( doubleval($_GET['revert']) ) ) );
-
- $tmpl->assign( 'outcome_msg', $message);
-
- }
-
- }
-
- // show the history only if there is something to show
- $count = 999; //show the newest revisions
- list ($uid, $filename) = OCA\Files_Versions\Storage::getUidAndFilename($path);
- if( ($versions = OCA\Files_Versions\Storage::getVersions($uid, $filename, $count)) ) {
-
- $tmpl->assign( 'versions', array_reverse( $versions ) );
-
- }else{
-
- $tmpl->assign( 'message', $l->t('No old versions available') );
-
- }
-}else{
-
- $tmpl->assign( 'message', $l->t('No path specified') );
-
-}
-
-$tmpl->printPage( );
diff --git a/apps/files_versions/js/versions.js b/apps/files_versions/js/versions.js
index a5b244174831654ac1277f419943c7e561337383..ca479507d48d4183326aa81ceda64cc45aae46da 100644
--- a/apps/files_versions/js/versions.js
+++ b/apps/files_versions/js/versions.js
@@ -1,4 +1,5 @@
$(document).ready(function(){
+
if (typeof FileActions !== 'undefined') {
// Add versions button to 'files/index.php'
FileActions.register(
@@ -14,39 +15,68 @@ $(document).ready(function(){
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) && $('#dropdown').hasClass('drop-versions') ) {
- if (file != $('#dropdown').data('file')) {
- $('#dropdown').hide('blind', function() {
- $('#dropdown').remove();
- $('tr').removeClass('mouseOver');
- createVersionsDropdown(filename, file);
- });
+ if (($('#dropdown').length > 0) ) {
+ if ( $('#dropdown').hasClass('drop-versions') && file == $('#dropdown').data('file')) {
+ createDropDown = false;
}
- } else {
+ $('#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 historyUrl = OC.linkTo('files_versions', 'history.php') + '?path='+encodeURIComponent( $( '#dir' ).val() ).replace( /%2F/g, '/' )+'/'+encodeURIComponent( filename );
+ var start = 0;
var html = ' | ';
html += '
';
- html += '';
+ html += ' ';
- html += '';
- html += '';
+ html += '';
if (filename) {
$('tr').filterAttr('data-file',filename).addClass('mouseOver');
@@ -55,73 +85,72 @@ function createVersionsDropdown(filename, files) {
$(html).appendTo($('thead .share'));
}
- $("#makelink").click(function() {
- goToVersionPage(historyUrl);
- });
+ getVersions(start);
+ start = start + 5;
- $.ajax({
- type: 'GET',
- url: OC.filePath('files_versions', 'ajax', 'getVersions.php'),
- dataType: 'json',
- data: { source: files },
- async: false,
- success: function( versions ) {
-
- if (versions) {
- $.each( versions, function(index, row ) {
- addVersion( row );
- });
- } else {
- $('#found_versions').hide();
- $('#makelink').hide();
- $('
No other versions available ').appendTo('#dropdown');
- }
- $('#found_versions').change(function(){
- var revision=parseInt($(this).val());
- revertFile(files,revision);
- });
- }
+ $("#show-more-versions").click(function() {
+ //get more versions
+ getVersions(start);
+ start = start + 5;
});
- function revertFile(file, revision) {
-
+ function getVersions(start) {
$.ajax({
type: 'GET',
- url: OC.linkTo('files_versions', 'ajax/rollbackVersion.php'),
+ url: OC.filePath('files_versions', 'ajax', 'getVersions.php'),
dataType: 'json',
- data: {file: file, revision: revision},
+ data: {source: files, start: start},
async: false,
- success: function(response) {
- if (response.status=='error') {
- OC.dialogs.alert('Failed to revert '+file+' to revision '+formatDate(revision*1000)+'.','Failed to revert');
+ success: function(result) {
+ var versions = result.data.versions;
+ if (result.data.endReached === true) {
+ document.getElementById("show-more-versions").style.display="none";
} else {
- $('#dropdown').hide('blind', function() {
- $('#dropdown').remove();
- $('tr').removeClass('mouseOver');
- // TODO also update the modified time in the web ui
+ document.getElementById("show-more-versions").style.display="block";
+ }
+ if (versions) {
+ $.each(versions, function(index, row) {
+ addVersion(row);
});
+ } else {
+ $(''+ t('files_versions', 'No other versions available') + ' ').appendTo('#dropdown');
}
+ $('#found_versions').change(function() {
+ var revision = parseInt($(this).val());
+ revertFile(files, revision);
+ });
}
});
-
}
function addVersion( revision ) {
- name=formatDate(revision.version*1000);
- var version=$('');
- version.attr('value',revision.version);
- version.text(name);
-
-// } else {
-// var checked = ((permissions > 0) ? 'checked="checked"' : 'style="display:none;"');
-// var style = ((permissions == 0) ? 'style="display:none;"' : '');
-// var user = '
-
-File: '.OC_Util::sanitizeHTML($_['path']).'
diff --git a/apps/user_ldap/l10n/bn_BD.php b/apps/user_ldap/l10n/bn_BD.php
index 4cee35777df353a724ad0ed574a27d7ede63f7ff..6ae99d69a1cdb13ab819e2b0435603a2d12979e3 100644
--- a/apps/user_ldap/l10n/bn_BD.php
+++ b/apps/user_ldap/l10n/bn_BD.php
@@ -21,14 +21,11 @@
"Use TLS" => "TLS ব্যবহার কর",
"Case insensitve LDAP server (Windows)" => "বর্ণ অসংবেদী LDAP সার্ভার (উইন্ডোজ)",
"Turn off SSL certificate validation." => "SSL সনদপত্র যাচাইকরণ বন্ধ রাক।",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "শুধুমাত্র যদি এই বিকল্পটি ব্যবহার করেই সংযোগ কার্যকরী হয় তবে আপনার ownCloud সার্ভারে LDAP সার্ভারের SSL সনদপত্রটি আমদানি করুন।",
"Not recommended, use for testing only." => "অনুমোদিত নয়, শুধুমাত্র পরীক্ষামূলক ব্যবহারের জন্য।",
"in seconds. A change empties the cache." => "সেকেন্ডে। কোন পরিবর্তন ক্যাসে খালি করবে।",
"User Display Name Field" => "ব্যবহারকারীর প্রদর্শিতব্য নামের ক্ষেত্র",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "ব্যবহারকারীর ownCloud নাম তৈরি করার জন্য ব্যভহৃত LDAP বৈশিষ্ট্য।",
"Base User Tree" => "ভিত্তি ব্যবহারকারি বৃক্ষাকারে",
"Group Display Name Field" => "গোষ্ঠীর প্রদর্শিতব্য নামের ক্ষেত্র",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "গোষ্ঠীর ownCloud নাম তৈরি করার জন্য ব্যভহৃত LDAP বৈশিষ্ট্য।",
"Base Group Tree" => "ভিত্তি গোষ্ঠী বৃক্ষাকারে",
"Group-Member association" => "গোষ্ঠী-সদস্য সংস্থাপন",
"in bytes" => "বাইটে",
diff --git a/apps/user_ldap/l10n/ca.php b/apps/user_ldap/l10n/ca.php
index 7f0849b2382e3b5c9616c7e219652ea3a8d6bd3a..8cf51f537b02463b2e9ad74d5f0362714245f905 100644
--- a/apps/user_ldap/l10n/ca.php
+++ b/apps/user_ldap/l10n/ca.php
@@ -15,7 +15,7 @@
"Connection test failed" => "La prova de connexió ha fallat",
"Do you really want to delete the current Server Configuration?" => "Voleu eliminar la configuració actual del servidor?",
"Confirm Deletion" => "Confirma l'eliminació",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Avís: Les aplicacions user_ldap i user_webdavauth són incompatibles. Podeu experimentar comportaments no desitjats. Demaneu a l'administrador del sistema que en desactivi una.",
+"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." => "Avís: Les aplicacions user_ldap i user_webdavauth són incompatibles. Podeu experimentar comportaments inesperats. Demaneu a l'administrador del sistema que en desactivi una.",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "Avís: El mòdul PHP LDAP no està instal·lat, el dorsal no funcionarà. Demaneu a l'administrador del sistema que l'instal·li.",
"Server configuration" => "Configuració del servidor",
"Add Server Configuration" => "Afegeix la configuració del servidor",
@@ -45,24 +45,24 @@
"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "Afegiu una màquina de còpia de seguretat opcional. Ha de ser una rèplica del servidor LDAP/AD principal.",
"Backup (Replica) Port" => "Port de la còpia de seguretat (rèplica)",
"Disable Main Server" => "Desactiva el servidor principal",
-"When switched on, ownCloud will only connect to the replica server." => "Quan està connectat, ownCloud només es connecta al servidor de la rèplica.",
+"Only connect to the replica server." => "Connecta només al servidor rèplica.",
"Use TLS" => "Usa TLS",
"Do not use it additionally for LDAPS connections, it will fail." => "No ho useu adicionalment per a conexions LDAPS, fallarà.",
"Case insensitve LDAP server (Windows)" => "Servidor LDAP sense distinció entre majúscules i minúscules (Windows)",
"Turn off SSL certificate validation." => "Desactiva la validació de certificat SSL.",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Si la connexió només funciona amb aquesta opció, importeu el certificat SSL del servidor LDAP en el vostre servidor ownCloud.",
+"If connection only works with this option, import the LDAP server's SSL certificate in your %s server." => "Si la connexió només funciona amb aquesta opció, importeu el certificat SSL del servidor LDAP en el vostre servidor %s.",
"Not recommended, use for testing only." => "No recomanat, ús només per proves.",
"Cache Time-To-Live" => "Memòria de cau Time-To-Live",
"in seconds. A change empties the cache." => "en segons. Un canvi buidarà la memòria de cau.",
"Directory Settings" => "Arranjaments de carpetes",
"User Display Name Field" => "Camp per mostrar el nom d'usuari",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "Atribut LDAP a usar per generar el nom d'usuari ownCloud.",
+"The LDAP attribute to use to generate the user's display name." => "Atribut LDAP a usar per generar el nom a mostrar de l'usuari.",
"Base User Tree" => "Arbre base d'usuaris",
"One User Base DN per line" => "Una DN Base d'Usuari per línia",
"User Search Attributes" => "Atributs de cerca d'usuari",
"Optional; one attribute per line" => "Opcional; Un atribut per línia",
"Group Display Name Field" => "Camp per mostrar el nom del grup",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "Atribut LDAP a usar per generar el nom de grup ownCloud.",
+"The LDAP attribute to use to generate the groups's display name." => "Atribut LDAP a usar per generar el nom a mostrar del grup.",
"Base Group Tree" => "Arbre base de grups",
"One Group Base DN per line" => "Una DN Base de Grup per línia",
"Group Search Attributes" => "Atributs de cerca de grup",
@@ -75,13 +75,13 @@
"User Home Folder Naming Rule" => "Norma per anomenar la carpeta arrel d'usuari",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Deixeu-ho buit pel nom d'usuari (per defecte). Altrament, especifiqueu un atribut LDAP/AD.",
"Internal Username" => "Nom d'usuari intern",
-"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "Per defecte el nom d'usuari intern es crearà a partir de l'atribut UUID. Això assegura que el nom d'usuari és únic i que els caràcters no s'han de convertir. El nom d'usuari intern té la restricció que només estan permesos els caràcters: [ a-zA-Z0-9_.@- ]. Els altres caràcters es substitueixen pel seu corresponent ASCII o simplement s'ometen. En cas de col·lisió s'incrementa/decrementa en un. El nom d'usuari intern s'utilitza per identificar un usuari internament. També és el nom per defecte de la carpeta home a ownCloud. És també un port de URLs remotes, per exemple tots els serveis *DAV. Amb aquest arranjament es pot variar el comportament per defecte. Per obtenir un comportament similar al d'abans de ownCloud 5, escriviu el nom d'usuari a mostrar en el camp següent. Deixei-lo en blanc si preferiu el comportament per defecte. Els canvis tindran efecte només en els nous usuaris LDAP mapats (afegits).",
+"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. To achieve a similar behavior as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users." => "Per defecte el nom d'usuari intern es crearà a partir de l'atribut UUID. Això assegura que el nom d'usuari és únic i que els caràcters no s'han de convertir. El nom d'usuari intern té la restricció que només estan permesos els caràcters: [ a-zA-Z0-9_.@- ]. Els altres caràcters es substitueixen pel seu corresponent ASCII o simplement s'ometen. En cas de col·lisió s'incrementa/decrementa en un. El nom d'usuari intern s'utilitza per identificar un usuari internament. També és el nom per defecte de la carpeta home d'usuari. És també un port de URLs remotes, per exemple tots els serveis *DAV. Amb aquest arranjament es pot variar el comportament per defecte. Per obtenir un comportament similar al d'abans de ownCloud 5, escriviu el nom d'usuari a mostrar en el camp següent. Deixei-lo en blanc si preferiu el comportament per defecte. Els canvis tindran efecte només en els nous usuaris LDAP mapats (afegits).",
"Internal Username Attribute:" => "Atribut nom d'usuari intern:",
"Override UUID detection" => "Sobrescriu la detecció UUID",
-"By default, ownCloud autodetects the UUID attribute. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users and groups." => "Per defecte, owncloud autodetecta l'atribut UUID. L'atribut UUID s'utilitza per identificar usuaris i grups de forma indubtable. També el nom d'usuari intern es crearà en base a la UUIS, si no heu especificat res diferent a dalt. Podeu sobreescriure l'arranjament i passar l'atribut que desitgeu. Heu d'assegurar-vos que l'atribut que escolliu pot ser recollit tant pels usuaris com pels grups i que és únic. Deixeu-ho en blanc si preferiu el comportament per defecte. els canvis s'aplicaran en els usuaris i grups LDAP mapats de nou (afegits).",
+"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." => "Per defecte, owncloud autodetecta l'atribut UUID. L'atribut UUID s'utilitza per identificar usuaris i grups de forma indubtable. També el nom d'usuari intern es crearà en base a la UUIS, si no heu especificat res diferent a dalt. Podeu sobreescriure l'arranjament i passar l'atribut que desitgeu. Heu d'assegurar-vos que l'atribut que escolliu pot ser recollit tant pels usuaris com pels grups i que és únic. Deixeu-ho en blanc si preferiu el comportament per defecte. els canvis s'aplicaran als usuaris i grups LDAP mapats de nou (afegits).",
"UUID Attribute:" => "Atribut UUID:",
"Username-LDAP User Mapping" => "Mapatge d'usuari Nom d'usuari-LDAP",
-"ownCloud uses usernames to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from ownCloud username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found by ownCloud. The internal ownCloud name is used all over in ownCloud. Clearing the Mappings will have leftovers everywhere. Clearing the Mappings is not configuration sensitive, it affects all LDAP configurations! Do never clear the mappings in a production environment. Only clear mappings in a testing or experimental stage." => "ownCloud utilitza els noms d'usuari per emmagatzemar i assignar (meta)dades. per tal d'identificar usuaris de forma precisa, cada usuari LDAP tindrà un nom d'usuari intern. Això requereix un mapatge del nom d'usuari ownCloud a l'usuari LDAP. El nom d'usuari creat es mapa a la UUID de l'usuari LDAP. Addicionalment, la DN es desa a la memòria de cau per reduïr la interacció LDAP, però no s'usa per a identificació. Si la DN canvia, els canvis són detectats per ownCloud. El nom d'usuari intern ownCloud s'utilitza internament arreu de ownCloud. Eliminar els mapatges tindrà efectues per tot arreu. L'eliminació dels mapatges no és sensible a la configuració, afecta a totes les configuracions LDAP! No elimineu mai els mapatges en un entorn de producció. Elimineu-los només en un estadi experimental o de prova.",
+"Usernames are used to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." => "Els noms d'usuari s'usen per desar i assignar (meta)dades. Per tal d'identificar amb precisió i reconèixer els usuaris, cada usuari LDAP tindrà un nom d'usuari intern. Això requereix mapatge del nom d'usuari a l'usuari LDAP. El nom d'usuari creat es mapa a la UUID de l'usuari LDAP. A més, la DN es posa a la memòria de cau per reduir la interacció LDAP, però no s'usa per identificació. En cas que la DN canvïi, els canvis es trobaran. El nom d'usuari intern s'usa a tot arreu. Si esborreu els mapatges quedaran sobrants a tot arreu. Esborrar els mapatges no és sensible a la configuració, afecta a totes les configuracions LDAP! No esborreu mai els mapatges en un entorn de producció, només en un estadi de prova o experimental.",
"Clear Username-LDAP User Mapping" => "Elimina el mapatge d'usuari Nom d'usuari-LDAP",
"Clear Groupname-LDAP Group Mapping" => "Elimina el mapatge de grup Nom de grup-LDAP",
"Test Configuration" => "Comprovació de la configuració",
diff --git a/apps/user_ldap/l10n/cs_CZ.php b/apps/user_ldap/l10n/cs_CZ.php
index 65c7c76b5d7811438a8b3b4292c8896def208941..dd02f8bc3e40648ca4903e6bceafd7390519123a 100644
--- a/apps/user_ldap/l10n/cs_CZ.php
+++ b/apps/user_ldap/l10n/cs_CZ.php
@@ -15,7 +15,7 @@
"Connection test failed" => "Test spojení selhal",
"Do you really want to delete the current Server Configuration?" => "Opravdu si přejete smazat současné nastavení serveru?",
"Confirm Deletion" => "Potvrdit smazání",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Varování: Aplikace user_ldap a user_webdavauth nejsou kompatibilní. Může nastávat neočekávané chování. Požádejte, prosím, správce systému aby jednu z nich zakázal.",
+"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." => "Varování: Aplikace user_ldap a user_webdavauth jsou vzájemně nekompatibilní. Můžete zaznamenat neočekávané chování. Požádejte prosím vašeho systémového administrátora o zakázání jednoho z nich.",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "Varování: není nainstalován LDAP modul pro PHP, podpůrná vrstva nebude fungovat. Požádejte, prosím, správce systému aby jej nainstaloval.",
"Server configuration" => "Nastavení serveru",
"Add Server Configuration" => "Přidat nastavení serveru",
@@ -45,24 +45,24 @@
"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "Zadejte volitelného záložního hostitele. Musí to být kopie hlavního serveru LDAP/AD.",
"Backup (Replica) Port" => "Záložní (kopie) port",
"Disable Main Server" => "Zakázat hlavní serveru",
-"When switched on, ownCloud will only connect to the replica server." => "Při zapnutí se ownCloud připojí pouze k záložnímu serveru",
+"Only connect to the replica server." => "Připojit jen k replikujícímu serveru.",
"Use TLS" => "Použít TLS",
"Do not use it additionally for LDAPS connections, it will fail." => "Nepoužívejte pro spojení LDAP, selže.",
"Case insensitve LDAP server (Windows)" => "LDAP server nerozlišující velikost znaků (Windows)",
"Turn off SSL certificate validation." => "Vypnout ověřování SSL certifikátu.",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Pokud připojení pracuje pouze s touto možností, tak importujte SSL certifikát SSL serveru do Vašeho serveru ownCloud",
+"If connection only works with this option, import the LDAP server's SSL certificate in your %s server." => "Pokud spojení funguje jen s touto volbou, importujte SSL certifikát vašeho LDAP serveru na server %s.",
"Not recommended, use for testing only." => "Není doporučeno, pouze pro testovací účely.",
"Cache Time-To-Live" => "TTL vyrovnávací paměti",
"in seconds. A change empties the cache." => "ve vteřinách. Změna vyprázdní vyrovnávací paměť.",
"Directory Settings" => "Nastavení adresáře",
-"User Display Name Field" => "Pole pro zobrazované jméno uživatele",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "Atribut LDAP použitý k vytvoření jména uživatele ownCloud",
+"User Display Name Field" => "Pole zobrazovaného jména uživatele",
+"The LDAP attribute to use to generate the user's display name." => "LDAP atribut použitý k vytvoření zobrazovaného jména uživatele.",
"Base User Tree" => "Základní uživatelský strom",
"One User Base DN per line" => "Jedna uživatelská základní DN na řádku",
"User Search Attributes" => "Atributy vyhledávání uživatelů",
"Optional; one attribute per line" => "Volitelné, atribut na řádku",
-"Group Display Name Field" => "Pole pro zobrazení jména skupiny",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "Atribut LDAP použitý k vytvoření jména skupiny ownCloud",
+"Group Display Name Field" => "Pole zobrazovaného jména skupiny",
+"The LDAP attribute to use to generate the groups's display name." => "LDAP atribut použitý k vytvoření zobrazovaného jména skupiny.",
"Base Group Tree" => "Základní skupinový strom",
"One Group Base DN per line" => "Jedna skupinová základní DN na řádku",
"Group Search Attributes" => "Atributy vyhledávání skupin",
@@ -75,10 +75,13 @@
"User Home Folder Naming Rule" => "Pravidlo pojmenování domovské složky uživatele",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Ponechte prázdné pro uživatelské jméno (výchozí). Jinak uveďte LDAP/AD parametr.",
"Internal Username" => "Interní uživatelské jméno",
+"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. To achieve a similar behavior as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users." => "Ve výchozím nastavení bude uživatelské jméno vytvořeno z UUID atributu. To zajistí unikátnost uživatelského jména bez potřeby konverze znaků. Interní uživatelské jméno je omezena na znaky: [ a-zA-Z0-9_.@- ]. Ostatní znaky jsou nahrazeny jejich ASCII ekvivalentem nebo jednoduše vynechány. V případě kolize uživatelských jmen bude přidáno/navýšeno číslo. Interní uživatelské jméno je používáno k interní identifikaci uživatele. Je také výchozím názvem uživatelského domovského adresáře. Je také součástí URL pro vzdálený přístup, například všech *DAV služeb. S tímto nastavením bude výchozí chování přepsáno. Pro dosažení podobného chování jako před ownCloudem 5 uveďte atribut zobrazovaného jména do pole níže. Ponechte prázdné pro výchozí chování. Změna bude mít vliv jen na nově namapované (přidané) uživatele z LDAP.",
"Internal Username Attribute:" => "Atribut interního uživatelského jména:",
"Override UUID detection" => "Nastavit ručně UUID atribut",
+"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." => "Ve výchozím nastavení je UUID atribut nalezen automaticky. UUID atribut je používán pro nezpochybnitelnou identifikaci uživatelů a skupin z LDAP. Navíc je na základě UUID tvořeno také interní uživatelské jméno, pokud není nastaveno jinak. Můžete výchozí nastavení přepsat a použít atribut který sami zvolíte. Musíte se ale ujistit že atribut který vyberete bude uveden jak u uživatelů, tak i u skupin a je unikátní. Ponechte prázdné pro výchozí chování. Změna bude mít vliv jen na nově namapované (přidané) uživatele a skupiny z LDAP.",
"UUID Attribute:" => "Atribut UUID:",
"Username-LDAP User Mapping" => "Mapování uživatelských jmen z LDAPu",
+"Usernames are used to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." => "Uživatelská jména jsou používány pro uchovávání a přiřazování (meta)dat. Pro správnou identifikaci a rozpoznání uživatelů bude mít každý uživatel z LDAP interní uživatelské jméno. To je nezbytné pro mapování uživatelských jmen na uživatele LDAP. Vytvořené uživatelské jméno je mapováno na UUID uživatele v LDAP. Navíc je cachována DN pro reprodukci interakce s LDAP, ale není používána pro identifikaci. Pokud se DN změní, bude to správně rozpoznáno. Vyčištění mapování zanechá zbytky všude. Vyčištění navíc není specifické konfiguraci, bude mít vliv na všechny LDAP konfigurace! Nikdy nečistěte mapování v produkčním prostředí, jen v testovací nebo experimentální fázi.",
"Clear Username-LDAP User Mapping" => "Zrušit mapování uživatelských jmen LDAPu",
"Clear Groupname-LDAP Group Mapping" => "Zrušit mapování názvů skupin LDAPu",
"Test Configuration" => "Vyzkoušet nastavení",
diff --git a/apps/user_ldap/l10n/da.php b/apps/user_ldap/l10n/da.php
index 0a77f46647977050177d02cbb51c4977986611f4..71fe042406b3df973d44b698b33fadcb5375b8f6 100644
--- a/apps/user_ldap/l10n/da.php
+++ b/apps/user_ldap/l10n/da.php
@@ -1,7 +1,18 @@
"Kunne ikke slette server konfigurationen",
+"The configuration is valid and the connection could be established!" => "Konfigurationen er korrekt og forbindelsen kunne etableres!",
+"The configuration is invalid. Please look in the ownCloud log for further details." => "Konfigurationen er ugyldig. Se venligst ownCloud loggen for yderligere detaljer.",
"Deletion failed" => "Fejl ved sletning",
+"Keep settings?" => "Behold indstillinger?",
+"Cannot add server configuration" => "Kan ikke tilføje serverkonfiguration",
"Success" => "Succes",
"Error" => "Fejl",
+"Connection test succeeded" => "Forbindelsestest lykkedes",
+"Connection test failed" => "Forbindelsestest mislykkedes",
+"Do you really want to delete the current Server Configuration?" => "Ønsker du virkelig at slette den nuværende Server Konfiguration?",
+"Confirm Deletion" => "Bekræft Sletning",
+"Server configuration" => "Server konfiguration",
+"Add Server Configuration" => "Tilføj Server Konfiguration",
"Host" => "Host",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Du kan udelade protokollen, medmindre du skal bruge SSL. Start i så fald med ldaps://",
"Base DN" => "Base DN",
@@ -12,10 +23,19 @@
"User Login Filter" => "Bruger Login Filter",
"User List Filter" => "Brugerliste Filter",
"Defines the filter to apply, when retrieving users." => "Definere filteret der bruges ved indlæsning af brugere.",
+"without any placeholder, e.g. \"objectClass=person\"." => "Uden stedfortræder, f.eks. \"objectClass=person\".",
"Group Filter" => "Gruppe Filter",
"Defines the filter to apply, when retrieving groups." => "Definere filteret der bruges når der indlæses grupper.",
+"without any placeholder, e.g. \"objectClass=posixGroup\"." => "Uden stedfortræder, f.eks. \"objectClass=posixGroup\".",
+"Connection Settings" => "Forbindelsesindstillinger ",
+"Configuration Active" => "Konfiguration Aktiv",
"Port" => "Port",
+"Backup (Replica) Host" => "Backup (Replika) Vært",
+"Backup (Replica) Port" => "Backup (Replika) Port",
+"Disable Main Server" => "Deaktiver Hovedserver",
+"Only connect to the replica server." => "Forbind kun til replika serveren.",
"Use TLS" => "Brug TLS",
+"Do not use it additionally for LDAPS connections, it will fail." => "Benyt ikke flere LDAPS forbindelser, det vil mislykkeds. ",
"Turn off SSL certificate validation." => "Deaktiver SSL certifikat validering",
"Not recommended, use for testing only." => "Anbefales ikke, brug kun for at teste.",
"User Display Name Field" => "User Display Name Field",
@@ -23,5 +43,8 @@
"Base Group Tree" => "Base Group Tree",
"Group-Member association" => "Group-Member association",
"in bytes" => "i bytes",
+"Email Field" => "Email Felt",
+"Internal Username" => "Internt Brugernavn",
+"Test Configuration" => "Test Konfiguration",
"Help" => "Hjælp"
);
diff --git a/apps/user_ldap/l10n/de.php b/apps/user_ldap/l10n/de.php
index bf25806d38c3c5eb99f8d40a724a127d5c83a443..09b17e01e2e2804653fa2341418cee744dd343f3 100644
--- a/apps/user_ldap/l10n/de.php
+++ b/apps/user_ldap/l10n/de.php
@@ -15,7 +15,7 @@
"Connection test failed" => "Verbindungstest fehlgeschlagen",
"Do you really want to delete the current Server Configuration?" => "Möchtest Du die aktuelle Serverkonfiguration wirklich löschen?",
"Confirm Deletion" => "Löschung bestätigen",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Warnung: Die Anwendungen user_ldap und user_webdavauth sind inkompatibel. Es kann demzufolge zu unerwartetem Verhalten kommen. Bitte Deinen Systemadministator eine der beiden Anwendungen zu deaktivieren.",
+"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." => "Warnung: Die Anwendungen user_ldap und user_webdavauth sind inkompatibel. Es kann demzufolge zu unerwarteten Verhalten kommen. Bitte\ndeinen Systemadministator eine der beiden Anwendungen zu deaktivieren.",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "Warnung: Da das PHP-Modul für LDAP nicht installiert ist, wird das Backend nicht funktionieren. Bitte Deinen Systemadministrator das Modul zu installieren.",
"Server configuration" => "Serverkonfiguration",
"Add Server Configuration" => "Serverkonfiguration hinzufügen",
@@ -45,24 +45,24 @@
"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "Gib einen optionalen Backup Host an. Es muss sich um eine Kopie des Haupt LDAP/AD Servers handeln.",
"Backup (Replica) Port" => "Backup Port",
"Disable Main Server" => "Hauptserver deaktivieren",
-"When switched on, ownCloud will only connect to the replica server." => "Wenn aktiviert, wird ownCloud ausschließlich den Backupserver verwenden.",
+"Only connect to the replica server." => "Nur zum Replikat-Server verbinden.",
"Use TLS" => "Nutze TLS",
"Do not use it additionally for LDAPS connections, it will fail." => "Benutze es nicht zusammen mit LDAPS Verbindungen, es wird fehlschlagen.",
"Case insensitve LDAP server (Windows)" => "LDAP-Server (Windows: Groß- und Kleinschreibung bleibt unbeachtet)",
"Turn off SSL certificate validation." => "Schalte die SSL-Zertifikatsprüfung aus.",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Falls die Verbindung es erfordert, muss das SSL-Zertifikat des LDAP-Server importiert werden.",
+"If connection only works with this option, import the LDAP server's SSL certificate in your %s server." => "Falls die Verbindung nur mit dieser Option funktioniert, importiere das SSL-Zertifikat des LDAP-Servers in deinen %s Server.",
"Not recommended, use for testing only." => "Nicht empfohlen, nur zu Testzwecken.",
"Cache Time-To-Live" => "Speichere Time-To-Live zwischen",
"in seconds. A change empties the cache." => "in Sekunden. Eine Änderung leert den Cache.",
"Directory Settings" => "Ordnereinstellungen",
"User Display Name Field" => "Feld für den Anzeigenamen des Benutzers",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "Das LDAP-Attribut für die Generierung des Benutzernamens in ownCloud. ",
+"The LDAP attribute to use to generate the user's display name." => "Das LDAP-Attribut zur Generierung des Anzeigenamens des Benutzers.",
"Base User Tree" => "Basis-Benutzerbaum",
"One User Base DN per line" => "Ein Benutzer Basis-DN pro Zeile",
"User Search Attributes" => "Benutzersucheigenschaften",
"Optional; one attribute per line" => "Optional; ein Attribut pro Zeile",
"Group Display Name Field" => "Feld für den Anzeigenamen der Gruppe",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "Das LDAP-Attribut für die Generierung des Gruppennamens in ownCloud. ",
+"The LDAP attribute to use to generate the groups's display name." => "Das LDAP-Attribut zur Generierung des Anzeigenamens der Gruppen.",
"Base Group Tree" => "Basis-Gruppenbaum",
"One Group Base DN per line" => "Ein Gruppen Basis-DN pro Zeile",
"Group Search Attributes" => "Gruppensucheigenschaften",
@@ -75,13 +75,13 @@
"User Home Folder Naming Rule" => "Benennungsregel für das Home-Verzeichnis des Benutzers",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Ohne Eingabe wird der Benutzername (Standard) verwendet. Anderenfall trage ein LDAP/AD-Attribut ein.",
"Internal Username" => "Interner Benutzername",
-"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "Standardmäßig wird der interne Benutzername aus der UUID erstellt. Dies stellt sicher, daß der Name einmalig ist und keine Zeichen umgewandelt werden müssen. Für den internen Benutzernamen sind nur die folgenden Zeichen zulässig: [ a-zA-Z0-9_.@- ]. Andere Zeichen werden durch ihr ASCII-Äquivalent ersetzt oder ausgelassen. Bei Kollisionen wird eine Nummer hinzugefügt/erhöht. Der interne Benutzername wird verwendet, um einen Benutzer intern zu identifizieren. Er ist auch der Standardname für das Benutzerverzeichnis in ownCloud und Teil von Remote-URLs, unter anderem für alle *DAV-Dienste. Mit dieser Einstellung kann das Standardverhalten geändert werden. Um ein ähnliches Verhalten wie in ownCloud 5 zu erreichen, geben Sie das Benutzer-Anzeige-Namen-Attribut in das folgende Feld ein. Änderungen betreffen nur neu angelegte LDAP-Benutzer.",
+"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. To achieve a similar behavior as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users." => "Standardmäßig wird der interne Benutzername mittels des UUID-Attributes erzeugt. Dies stellt sicher, dass der Benutzername einzigartig ist und keinerlei Zeichen konvertiert werden müssen. Der interne Benutzername unterliegt Beschränkungen, die nur die nachfolgenden Zeichen erlauben: [ a-zA-Z0-9_.@- ]. Andere Zeichen werden mittels ihrer korrespondierenden Zeichen ersetzt oder einfach ausgelassen. Bei Kollisionen wird ein Zähler hinzugefügt bzw. der Zähler um einen Wert erhöht. Der interne Benutzername wird benutzt, um einen Benutzer intern zu identifizieren. Es ist ebenso der standardmäßig vorausgewählte Namen des Heimatverzeichnisses. Es ist auch ein Teil der Remote-URLs - zum Beispiel für alle *DAV-Dienste. Mit dieser Einstellung kann das Standardverhalten überschrieben werden. Um ein ähnliches Verhalten wie vor ownCloud 5 zu erzielen, fügen Sie das anzuzeigende Attribut des Benutzernamens in das nachfolgende Feld ein. Lassen Sie dies hingegen für das Standardverhalten leer. Die Änderungen werden sich nur auf neu gemappte (hinzugefügte) LDAP-Benutzer auswirken.",
"Internal Username Attribute:" => "Attribut für interne Benutzernamen:",
"Override UUID detection" => "UUID-Erkennung überschreiben",
-"By default, ownCloud autodetects the UUID attribute. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users and groups." => "Standardmäßig erkennt ownCloud das UUID-Attribut automatisch. Das UUID-Attribut wird benutzt, um LDAP-Benutzer und Gruppen eindeutig zu identifizieren. Außerdem wird der interne Benutzername basierend auf der UUID erstellt, wenn nicht anders angegeben. Sie können dieses Verhalten ändern und ein Attribut Ihrer Wahl angeben. Sie müssen sichergehen, dass das Attribut Ihrer Wahl auf Benutzer und Gruppen anwendbar und einzigartig ist. Für das Standardverhalten lassen Sie das Feld leer. Änderungen betreffen nur neu angelegte LDAP-Benutzer und Gruppen.",
+"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." => "Standardmäßig wird die UUID-Eigenschaft automatisch erkannt. Die UUID-Eigenschaft wird genutzt, um einen LDAP-Benutzer und Gruppen einwandfrei zu identifizieren. Außerdem wird der interne Benutzername erzeugt, der auf Eigenschaften der UUID basiert, wenn es oben nicht anders angegeben wurde. Du musst allerdings sicherstellen, dass deine gewählten Eigenschaften zur Identifikation der Benutzer und Gruppen eindeutig sind und zugeordnet werden können. Lasse es frei, um es beim Standardverhalten zu belassen. Änderungen wirken sich nur auf neu gemappte (hinzugefügte) LDAP-Benutzer und -Gruppen aus.",
"UUID Attribute:" => "UUID-Attribut:",
"Username-LDAP User Mapping" => "LDAP-Benutzernamenzuordnung",
-"ownCloud uses usernames to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from ownCloud username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found by ownCloud. The internal ownCloud name is used all over in ownCloud. Clearing the Mappings will have leftovers everywhere. Clearing the Mappings is not configuration sensitive, it affects all LDAP configurations! Do never clear the mappings in a production environment. Only clear mappings in a testing or experimental stage." => "OwnCloud nutzt die Benutzernamen, um (Meta)Daten zuzuordnen und zu speichern. Um Benutzer eindeutig und präzise zu identifizieren, hat jeder LDAP-Benutzer einen internen Benutzernamen. Dies erfordert eine Zuordnung vom OwnCloud-Benutzernamen zum LDAP-Benutzer. Der erstellte Benutzername wird der UUID des LDAP-Benutzernamens zugeordnet. Zusätzlich wird der DN zwischengespeichert, um die Interaktion mit LDAP zu minimieren, was aber nicht der Identifikation dient. Ändert sich der DN, werden die Änderungen durch OwnCloud gefunden. Der interne OwnCloud-Name, wird in der gesamten OwnCloud verwendet. Werden die Zuordnungen gelöscht, bleiben überall Reste in der OwnCloud. Die Löschung der Zuordnungen kann nicht in der Konfiguration vorgenommen werden, beeinflusst aber die LDAP-Konfiguration! Lösche niemals die Zuordnungen in einer produktiven Umgebung. Lösche die Zuordnungen nur in einer Test- oder Experimentierumgebung.",
+"Usernames are used to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." => "Die Benutzernamen werden genutzt, um (Meta)Daten zuzuordnen und zu speichern. Um Benutzer eindeutig und präzise zu identifizieren, hat jeder LDAP-Benutzer einen internen Benutzernamen. Dies erfordert eine Zuordnung (mappen) von Benutzernamen zum LDAP-Benutzer. Der erstellte Benutzername wird der UUID des LDAP-Benutzernamens zugeordnet. Zusätzlich wird der DN zwischengespeichert, um die Interaktion mit dem LDAP zu minimieren, was aber nicht der Identifikation dient. Ändert sich der DN, werden die Änderungen durch gefunden. Der interne Benutzername, wird in überall verwendet. Werden die Zuordnungen gelöscht, bleiben überall Reste zurück. Die Löschung der Zuordnungen kann nicht in der Konfiguration vorgenommen werden, beeinflusst aber die LDAP-Konfiguration! Löschen Sie niemals die Zuordnungen in einer produktiven Umgebung. Lösche die Zuordnungen nur in einer Test- oder Experimentierumgebung.",
"Clear Username-LDAP User Mapping" => "Lösche LDAP-Benutzernamenzuordnung",
"Clear Groupname-LDAP Group Mapping" => "Lösche LDAP-Gruppennamenzuordnung",
"Test Configuration" => "Testkonfiguration",
diff --git a/apps/user_ldap/l10n/de_DE.php b/apps/user_ldap/l10n/de_DE.php
index a876119f364ec8798c957c2f520d979dec3b773c..3240f1653cd2ec73778984bbdeeb30abc8685c3c 100644
--- a/apps/user_ldap/l10n/de_DE.php
+++ b/apps/user_ldap/l10n/de_DE.php
@@ -15,7 +15,7 @@
"Connection test failed" => "Verbindungstest fehlgeschlagen",
"Do you really want to delete the current Server Configuration?" => "Möchten Sie die aktuelle Serverkonfiguration wirklich löschen?",
"Confirm Deletion" => "Löschung bestätigen",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Warnung: Die Anwendungen user_ldap und user_webdavauth sind inkompatibel. Es kann demzufolge zu unerwartetem Verhalten kommen. Bitten Sie Ihren Systemadministator eine der beiden Anwendungen zu deaktivieren.",
+"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." => "Warnung: Die Anwendungen user_ldap und user_webdavauth sind inkompatibel. Es kann demzufolge zu unerwarteten Verhalten kommen. Bitten Sie Ihren Systemadministator eine der beiden Anwendungen zu deaktivieren.",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "Warnung: Da das PHP-Modul für LDAP nicht installiert ist, wird das Backend nicht funktionieren. Bitten Sie Ihren Systemadministrator das Modul zu installieren.",
"Server configuration" => "Serverkonfiguration",
"Add Server Configuration" => "Serverkonfiguration hinzufügen",
@@ -45,24 +45,24 @@
"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "Geben Sie einen optionalen Backup Host an. Es muss sich um eine Kopie des Haupt LDAP/AD Servers handeln.",
"Backup (Replica) Port" => "Backup Port",
"Disable Main Server" => "Hauptserver deaktivieren",
-"When switched on, ownCloud will only connect to the replica server." => "Wenn aktiviert, wird ownCloud ausschließlich den Backupserver verwenden.",
+"Only connect to the replica server." => "Nur zum Replikat-Server verbinden.",
"Use TLS" => "Nutze TLS",
"Do not use it additionally for LDAPS connections, it will fail." => "Benutzen Sie es nicht in Verbindung mit LDAPS Verbindungen, es wird fehlschlagen.",
"Case insensitve LDAP server (Windows)" => "LDAP-Server (Windows: Groß- und Kleinschreibung bleibt unbeachtet)",
"Turn off SSL certificate validation." => "Schalten Sie die SSL-Zertifikatsprüfung aus.",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Falls die Verbindung es erfordert, muss das SSL-Zertifikat des LDAP-Server importiert werden.",
+"If connection only works with this option, import the LDAP server's SSL certificate in your %s server." => "Falls die Verbindung nur mit dieser Option funktioniert, importieren Sie das SSL-Zertifikat des LDAP-Servers in Ihren %s Server.",
"Not recommended, use for testing only." => "Nicht empfohlen, nur zu Testzwecken.",
"Cache Time-To-Live" => "Speichere Time-To-Live zwischen",
"in seconds. A change empties the cache." => "in Sekunden. Eine Änderung leert den Cache.",
"Directory Settings" => "Ordnereinstellungen",
"User Display Name Field" => "Feld für den Anzeigenamen des Benutzers",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "Das LDAP-Attribut für die Generierung des Benutzernamens in ownCloud. ",
+"The LDAP attribute to use to generate the user's display name." => "Das LDAP-Attribut zur Generierung des Anzeigenamens des Benutzers.",
"Base User Tree" => "Basis-Benutzerbaum",
"One User Base DN per line" => "Ein Benutzer Basis-DN pro Zeile",
"User Search Attributes" => "Benutzersucheigenschaften",
"Optional; one attribute per line" => "Optional; ein Attribut pro Zeile",
"Group Display Name Field" => "Feld für den Anzeigenamen der Gruppe",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "Das LDAP-Attribut für die Generierung des Gruppennamens in ownCloud. ",
+"The LDAP attribute to use to generate the groups's display name." => "Das LDAP-Attribut zur Generierung des Anzeigenamens der Gruppen.",
"Base Group Tree" => "Basis-Gruppenbaum",
"One Group Base DN per line" => "Ein Gruppen Basis-DN pro Zeile",
"Group Search Attributes" => "Gruppensucheigenschaften",
@@ -75,13 +75,13 @@
"User Home Folder Naming Rule" => "Benennungsregel für das Home-Verzeichnis des Benutzers",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Ohne Eingabe wird der Benutzername (Standard) verwendet. Anderenfalls tragen Sie bitte ein LDAP/AD-Attribut ein.",
"Internal Username" => "Interner Benutzername",
-"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "Standardmäßig wird der interne Benutzername mittels des UUID-Attributes erzeugt. Dies stellt sicher, dass der Benutzername einzigartig ist und keinerlei Zeichen konvertiert werden müssen. Der interne Benutzername unterliegt Beschränkungen, die nur die nachfolgenden Zeichen erlauben: [ a-zA-Z0-9_.@- ]. Andere Zeichenwerden mittels ihrer korrespondierenden Zeichen ersetzt oder einfach ausgelassen. Bei Übereinstimmungen wird ein Zähler hinzugefügt bzw. der Zähler um einen Wert erhöht. Der interne Benutzername wird benutzt, um einen Benutzer intern zu identifizieren. Es ist ebenso der standardmäßig vorausgewählte Namen des Heimatverzeichnisses in ownCloud. Es dient weiterhin als Port für Remote-URLs - zum Beispiel für alle *DAV-Dienste Mit dieser Einstellung kann das Standardverhalten überschrieben werden. Um ein ähnliches Verhalten wie vor ownCloud 5 zu erzielen, fügen Sie das anzuzeigende Attribut des Benutzernamens in das nachfolgende Feld ein. Lassen Sie dies hingegen für das Standardverhalten leer. Die Änderungen werden sich einzig und allein nur auf neu gemappte (hinzugefügte) LDAP-Benutzer auswirken.",
+"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. To achieve a similar behavior as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users." => "Standardmäßig wird der interne Benutzername mittels des UUID-Attributes erzeugt. Dies stellt sicher, dass der Benutzername einzigartig ist und keinerlei Zeichen konvertiert werden müssen. Der interne Benutzername unterliegt Beschränkungen, die nur die nachfolgenden Zeichen erlauben: [ a-zA-Z0-9_.@- ]. Andere Zeichen werden mittels ihrer korrespondierenden Zeichen ersetzt oder einfach ausgelassen. Bei Kollisionen wird ein Zähler hinzugefügt bzw. der Zähler um einen Wert erhöht. Der interne Benutzername wird benutzt, um einen Benutzer intern zu identifizieren. Es ist ebenso der standardmäßig vorausgewählte Namen des Heimatverzeichnisses. Es ist auch ein Teil der Remote-URLs - zum Beispiel für alle *DAV-Dienste. Mit dieser Einstellung kann das Standardverhalten überschrieben werden. Um ein ähnliches Verhalten wie vor ownCloud 5 zu erzielen, fügen Sie das anzuzeigende Attribut des Benutzernamens in das nachfolgende Feld ein. Lassen Sie dies hingegen für das Standardverhalten leer. Die Änderungen werden sich nur auf neu gemappte (hinzugefügte) LDAP-Benutzer auswirken.",
"Internal Username Attribute:" => "Interne Eigenschaften des Benutzers:",
"Override UUID detection" => "UUID-Erkennung überschreiben",
-"By default, ownCloud autodetects the UUID attribute. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users and groups." => "Standardmäßig erkennt OwnCloud die UUID-Eigenschaften des Benutzers selbstständig. Die UUID-Eigenschaften werden genutzt, um einen LDAP-Benutzer und Gruppen einwandfrei zu identifizieren. Außerdem wird ein interner Benutzername erzeugt, der auf Eigenschaften der UUID basiert, wenn es oben nicht anders angegeben wurde. Sie können diese Eigenschaften überschreiben und selbst Eigenschaften nach Wahl vorgeben. Sie müssen allerdings sicherstellen, dass die Eigenschaften zur Identifikation für Benutzer und Gruppen eindeutig sind. Lassen Sie es frei, um es beim Standardverhalten zu belassen. Änderungen wirken sich nur auf neu zugeordnete (neu erstellte) LDAP-Benutzer und -Gruppen aus.",
+"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." => "Standardmäßig wird die UUID-Eigenschaft automatisch erkannt. Die UUID-Eigenschaft wird genutzt, um einen LDAP-Benutzer und Gruppen einwandfrei zu identifizieren. Außerdem wird der interne Benutzername erzeugt, der auf Eigenschaften der UUID basiert, wenn es oben nicht anders angegeben wurde. Sie müssen allerdings sicherstellen, dass Ihre gewählten Eigenschaften zur Identifikation der Benutzer und Gruppen eindeutig sind und zugeordnet werden können. Lassen Sie es frei, um es beim Standardverhalten zu belassen. Änderungen wirken sich nur auf neu gemappte (hinzugefügte) LDAP-Benutzer und -Gruppen aus.",
"UUID Attribute:" => "UUID-Attribut:",
"Username-LDAP User Mapping" => "LDAP-Benutzernamenzuordnung",
-"ownCloud uses usernames to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from ownCloud username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found by ownCloud. The internal ownCloud name is used all over in ownCloud. Clearing the Mappings will have leftovers everywhere. Clearing the Mappings is not configuration sensitive, it affects all LDAP configurations! Do never clear the mappings in a production environment. Only clear mappings in a testing or experimental stage." => "OwnCloud nutzt die Benutzernamen, um (Meta)Daten zuzuordnen und zu speichern. Um Benutzer eindeutig und präzise zu identifizieren, hat jeder LDAP-Benutzer einen internen Benutzernamen. Dies erfordert eine Zuordnung vom OwnCloud-Benutzernamen zum LDAP-Benutzer. Der erstellte Benutzername wird der UUID des LDAP-Benutzernamens zugeordnet. Zusätzlich wird der DN zwischengespeichert, um die Interaktion mit LDAP zu minimieren, was aber nicht der Identifikation dient. Ändert sich der DN, werden die Änderungen durch OwnCloud gefunden. Der interne OwnCloud-Name, wird in der gesamten OwnCloud verwendet. Werden die Zuordnungen gelöscht, bleiben überall Reste in der OwnCloud. Die Löschung der Zuordnungen kann nicht in der Konfiguration vorgenommen werden, beeinflusst aber die LDAP-Konfiguration! Löschen Sie niemals die Zuordnungen in einer produktiven Umgebung. Löschen Sie die Zuordnungen nur in einer Test- oder Experimentierumgebung.",
+"Usernames are used to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." => "Die Benutzernamen werden genutzt, um (Meta)Daten zuzuordnen und zu speichern. Um Benutzer eindeutig und präzise zu identifizieren, hat jeder LDAP-Benutzer einen internen Benutzernamen. Dies erfordert eine Zuordnung (mappen) von Benutzernamen zum LDAP-Benutzer. Der erstellte Benutzername wird der UUID des LDAP-Benutzernamens zugeordnet. Zusätzlich wird der DN zwischengespeichert, um die Interaktion mit dem LDAP zu minimieren, was aber nicht der Identifikation dient. Ändert sich der DN, werden die Änderungen durch gefunden. Der interne Benutzername, wird in überall verwendet. Werden die Zuordnungen gelöscht, bleiben überall Reste zurück. Die Löschung der Zuordnungen kann nicht in der Konfiguration vorgenommen werden, beeinflusst aber die LDAP-Konfiguration! Löschen Sie niemals die Zuordnungen in einer produktiven Umgebung. Löschen Sie die Zuordnungen nur in einer Test- oder Experimentierumgebung.",
"Clear Username-LDAP User Mapping" => "Lösche LDAP-Benutzernamenzuordnung",
"Clear Groupname-LDAP Group Mapping" => "Lösche LDAP-Gruppennamenzuordnung",
"Test Configuration" => "Testkonfiguration",
diff --git a/apps/user_ldap/l10n/el.php b/apps/user_ldap/l10n/el.php
index acecf27125f1a2287c37402ca570016dd5c68539..ae982ab4c567128029300af8e613bc32e82d5fe9 100644
--- a/apps/user_ldap/l10n/el.php
+++ b/apps/user_ldap/l10n/el.php
@@ -13,7 +13,6 @@
"Connection test failed" => "Αποτυχημένη δοκιμαστική σύνδεσης.",
"Do you really want to delete the current Server Configuration?" => "Θέλετε να διαγράψετε τις τρέχουσες ρυθμίσεις του διακομιστή;",
"Confirm Deletion" => "Επιβεβαίωση Διαγραφής",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Προσοχή: Οι εφαρμογές user_ldap και user_webdavauth είναι ασύμβατες. Μπορεί να αντιμετωπίσετε απρόβλεπτη συμπεριφορά. Παρακαλώ ζητήστε από τον διαχειριστή συστήματος να απενεργοποιήσει μία από αυτές.",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "Προσοχή: Το άρθρωμα PHP LDAP δεν είναι εγκατεστημένο και το σύστημα υποστήριξης δεν θα δουλέψει. Παρακαλώ ζητήστε από τον διαχειριστή συστήματος να το εγκαταστήσει.",
"Server configuration" => "Ρυθμίσεις Διακομιστή",
"Add Server Configuration" => "Προσθήκη Ρυθμίσεων Διακομιστή",
@@ -43,24 +42,20 @@
"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "Δώστε μια προαιρετική εφεδρική υποδοχή. Πρέπει να είναι ένα αντίγραφο του κύριου LDAP / AD διακομιστη.",
"Backup (Replica) Port" => "Δημιουργία αντιγράφων ασφαλείας (Replica) Υποδοχη",
"Disable Main Server" => "Απενεργοποιηση του κεντρικου διακομιστη",
-"When switched on, ownCloud will only connect to the replica server." => "Όταν ενεργοποιηθεί, με το ownCloud θα συνδεθείτε με το διακομιστή ρεπλίκα.",
"Use TLS" => "Χρήση TLS",
"Do not use it additionally for LDAPS connections, it will fail." => "Μην το χρησιμοποιήσετε επιπροσθέτως, για LDAPS συνδέσεις , θα αποτύχει.",
"Case insensitve LDAP server (Windows)" => "LDAP server (Windows) με διάκριση πεζών-ΚΕΦΑΛΑΙΩΝ",
"Turn off SSL certificate validation." => "Απενεργοποίηση επικύρωσης πιστοποιητικού SSL.",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Εάν η σύνδεση δουλεύει μόνο με αυτή την επιλογή, εισάγετε το LDAP SSL πιστοποιητικό του διακομιστή στον ownCloud server σας.",
"Not recommended, use for testing only." => "Δεν προτείνεται, χρήση μόνο για δοκιμές.",
"Cache Time-To-Live" => "Cache Time-To-Live",
"in seconds. A change empties the cache." => "σε δευτερόλεπτα. Μια αλλαγή αδειάζει την μνήμη cache.",
"Directory Settings" => "Ρυθμίσεις Καταλόγου",
"User Display Name Field" => "Πεδίο Ονόματος Χρήστη",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "Η ιδιότητα LDAP που θα χρησιμοποιείται για τη δημιουργία του ονόματος χρήστη του ownCloud.",
"Base User Tree" => "Base User Tree",
"One User Base DN per line" => "Ένα DN βάσης χρηστών ανά γραμμή",
"User Search Attributes" => "Χαρακτηριστικά αναζήτησης των χρηστών ",
"Optional; one attribute per line" => "Προαιρετικά? Ένα χαρακτηριστικό ανά γραμμή ",
"Group Display Name Field" => "Group Display Name Field",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "Η ιδιότητα LDAP που θα χρησιμοποιείται για τη δημιουργία του ονόματος ομάδας του ownCloud.",
"Base Group Tree" => "Base Group Tree",
"One Group Base DN per line" => "Μια ομαδικη Βάση DN ανά γραμμή",
"Group Search Attributes" => "Ομάδα Χαρακτηριστικων Αναζήτηση",
diff --git a/apps/user_ldap/l10n/eo.php b/apps/user_ldap/l10n/eo.php
index c9a9ba130c6fbd2c9bcaa49127fb61f473c6b490..7f9aa0b3f1c69d5924bf3b0deca93f3da4bd682e 100644
--- a/apps/user_ldap/l10n/eo.php
+++ b/apps/user_ldap/l10n/eo.php
@@ -21,14 +21,11 @@
"Use TLS" => "Uzi TLS-on",
"Case insensitve LDAP server (Windows)" => "LDAP-servilo blinda je litergrandeco (Vindozo)",
"Turn off SSL certificate validation." => "Malkapabligi validkontrolon de SSL-atestiloj.",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Se la konekto nur funkcias kun ĉi tiu malnepro, enportu la SSL-atestilo de la LDAP-servilo en via ownCloud-servilo.",
"Not recommended, use for testing only." => "Ne rekomendata, uzu ĝin nur por testoj.",
"in seconds. A change empties the cache." => "sekunde. Ajna ŝanĝo malplenigas la kaŝmemoron.",
"User Display Name Field" => "Kampo de vidignomo de uzanto",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "La atributo de LDAP uzota por generi la ownCloud-an nomon de la uzanto.",
"Base User Tree" => "Baza uzantarbo",
"Group Display Name Field" => "Kampo de vidignomo de grupo",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "La atributo de LDAP uzota por generi la ownCloud-an nomon de la grupo.",
"Base Group Tree" => "Baza gruparbo",
"Group-Member association" => "Asocio de grupo kaj membro",
"in bytes" => "duumoke",
diff --git a/apps/user_ldap/l10n/es.php b/apps/user_ldap/l10n/es.php
index 31d43288e5bc0ce25e6ea3bbd5bf8eb158f1b65c..f11dadfbef5321973335d680dbb49bbe62eb00e5 100644
--- a/apps/user_ldap/l10n/es.php
+++ b/apps/user_ldap/l10n/es.php
@@ -15,7 +15,6 @@
"Connection test failed" => "La prueba de conexión falló",
"Do you really want to delete the current Server Configuration?" => "¿Realmente desea eliminar la configuración actual del servidor?",
"Confirm Deletion" => "Confirmar eliminación",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Advertencia: Las aplicaciones user_ldap y user_webdavauth son incompatibles. Puede que experimente un comportamiento inesperado. Pregunte al administrador del sistema para desactivar uno de ellos.",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "Advertencia: El módulo LDAP de PHP no está instalado, el sistema no funcionará. Por favor consulte al administrador del sistema para instalarlo.",
"Server configuration" => "Configuración del Servidor",
"Add Server Configuration" => "Agregar configuracion del servidor",
@@ -45,24 +44,20 @@
"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "Dar un servidor de copia de seguridad opcional. Debe ser una réplica del servidor principal LDAP / AD.",
"Backup (Replica) Port" => "Puerto para copias de seguridad (Replica)",
"Disable Main Server" => "Deshabilitar servidor principal",
-"When switched on, ownCloud will only connect to the replica server." => "Cuando se inicie, ownCloud unicamente conectará al servidor replica",
"Use TLS" => "Usar TLS",
"Do not use it additionally for LDAPS connections, it will fail." => "No lo use para conexiones LDAPS, Fallará.",
"Case insensitve LDAP server (Windows)" => "Servidor de LDAP no sensible a mayúsculas/minúsculas (Windows)",
"Turn off SSL certificate validation." => "Apagar la validación por certificado SSL.",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Si la conexión sólo funciona con esta opción, importe el certificado SSL del servidor LDAP en su servidor ownCloud.",
"Not recommended, use for testing only." => "No recomendado, sólo para pruebas.",
"Cache Time-To-Live" => "Cache TTL",
"in seconds. A change empties the cache." => "en segundos. Un cambio vacía la caché.",
"Directory Settings" => "Configuracion de directorio",
"User Display Name Field" => "Campo de nombre de usuario a mostrar",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "El atributo LDAP a usar para generar el nombre de usuario de ownCloud.",
"Base User Tree" => "Árbol base de usuario",
"One User Base DN per line" => "Un DN Base de Usuario por línea",
"User Search Attributes" => "Atributos de la busqueda de usuario",
"Optional; one attribute per line" => "Opcional; un atributo por linea",
"Group Display Name Field" => "Campo de nombre de grupo a mostrar",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "El atributo LDAP a usar para generar el nombre de los grupos de ownCloud.",
"Base Group Tree" => "Árbol base de grupo",
"One Group Base DN per line" => "Un DN Base de Grupo por línea",
"Group Search Attributes" => "Atributos de busqueda de grupo",
@@ -75,13 +70,10 @@
"User Home Folder Naming Rule" => "Regla para la carpeta Home de usuario",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Vacío para el nombre de usuario (por defecto). En otro caso, especifique un atributo LDAP/AD.",
"Internal Username" => "Nombre de usuario interno",
-"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "Por defecto el nombre de usuario interno será creado desde el atributo UUID. Esto asegura que el nombre de usuario es único y los caracteres no necesitan ser convertidos. En el nombre de usuario interno sólo se pueden usar estos caracteres: [a-zA-Z0-9_.@-]. Otros caracteres son sustituidos por su correspondiente en ASCII o simplemente quitados. En coincidencias un número será añadido o incrementado. El nombre de usuario interno es usado para identificar un usuario internamente. Es también el nombre por defecto para la carpeta personal del usuario in ownCloud. También es un puerto de URLs remotas, por ejemplo, para todos los servicios *DAV. Con esta configuración el comportamiento por defecto puede ser cambiado. Para conseguir un comportamiento similar a como era antes de ownCloud 5, introduce el atributo del nombre en pantalla del usuario en el siguiente campo. Déjalo vacío para el comportamiento por defecto. Los cambios solo tendrán efecto en los nuevos usuarios LDAP.",
"Internal Username Attribute:" => "Atributo Nombre de usuario Interno:",
"Override UUID detection" => "Sobrescribir la detección UUID",
-"By default, ownCloud autodetects the UUID attribute. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users and groups." => "Por defecto, ownCloud autodetecta el atributo UUID. El atributo UUID es usado para identificar indudablemente usuarios y grupos LDAP. Además, el nombre de usuario interno será creado en base al UUID, si no ha sido especificado otro comportamiento arriba. Puedes sobrescribir la configuración y pasar un atributo de tu elección. Debes asegurarte de que el atributo de tu elección sea accesible por los usuarios y grupos y ser único. Déjalo en blanco para usar el comportamiento por defecto. Los cambios tendrán efecto solo en los nuevos usuarios y grupos de LDAP.",
"UUID Attribute:" => "Atributo UUID:",
"Username-LDAP User Mapping" => "Asignación del Nombre de usuario de un usuario LDAP",
-"ownCloud uses usernames to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from ownCloud username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found by ownCloud. The internal ownCloud name is used all over in ownCloud. Clearing the Mappings will have leftovers everywhere. Clearing the Mappings is not configuration sensitive, it affects all LDAP configurations! Do never clear the mappings in a production environment. Only clear mappings in a testing or experimental stage." => "ownCloud utiliza nombres de usuario para almacenar y asignar (meta) datos. Con el fin de identificar con precisión y reconocer usuarios, cada usuario LDAP tendrá un nombre de usuario interno. Esto requiere una asignación de nombre de usuario de ownCloud a usuario LDAP. El nombre de usuario creado se asigna al UUID del usuario LDAP. Además el DN se almacena en caché más bien para reducir la interacción de LDAP, pero no se utiliza para la identificación. Si la DN cambia, los cambios serán encontrados por ownCloud. El nombre interno de ownCloud se utiliza para todo en ownCloud. Eliminando las asignaciones tendrá restos por todas partes. Eliminando las asignaciones no es sensible a la configuración, que afecta a todas las configuraciones de LDAP! No limpiar nunca las asignaciones en un entorno de producción. Sólo borrar asignaciones en una situación de prueba o experimental.",
"Clear Username-LDAP User Mapping" => "Borrar la asignación de los Nombres de usuario de los usuarios LDAP",
"Clear Groupname-LDAP Group Mapping" => "Borrar la asignación de los Nombres de grupo de los grupos de LDAP",
"Test Configuration" => "Configuración de prueba",
diff --git a/apps/user_ldap/l10n/es_AR.php b/apps/user_ldap/l10n/es_AR.php
index 6925ea89a0cafbd02a2a7acdc2af438cfff7f799..8a44d3b84ad7ec94164412894891f8abe866e947 100644
--- a/apps/user_ldap/l10n/es_AR.php
+++ b/apps/user_ldap/l10n/es_AR.php
@@ -15,7 +15,6 @@
"Connection test failed" => "Falló es test de conexión",
"Do you really want to delete the current Server Configuration?" => "¿Realmente desea borrar la configuración actual del servidor?",
"Confirm Deletion" => "Confirmar borrado",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Advertencia: Los Apps user_ldap y user_webdavauth son incompatibles. Puede que experimente un comportamiento inesperado. Pregunte al administrador del sistema para desactivar uno de ellos.",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "Atención: El módulo PHP LDAP no está instalado, este elemento no va a funcionar. Por favor, pedile al administrador que lo instale.",
"Server configuration" => "Configuración del Servidor",
"Add Server Configuration" => "Añadir Configuración del Servidor",
@@ -45,24 +44,20 @@
"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "Dar un servidor de copia de seguridad opcional. Debe ser una réplica del servidor principal LDAP/AD.",
"Backup (Replica) Port" => "Puerto para copia de seguridad (réplica)",
"Disable Main Server" => "Deshabilitar el Servidor Principal",
-"When switched on, ownCloud will only connect to the replica server." => "Al comenzar, ownCloud se conectará únicamente al servidor réplica",
"Use TLS" => "Usar TLS",
"Do not use it additionally for LDAPS connections, it will fail." => "No usar adicionalmente para conexiones LDAPS, las mismas fallarán",
"Case insensitve LDAP server (Windows)" => "Servidor de LDAP sensible a mayúsculas/minúsculas (Windows)",
"Turn off SSL certificate validation." => "Desactivar la validación por certificado SSL.",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Si la conexión sólo funciona con esta opción, importá el certificado SSL del servidor LDAP en tu servidor ownCloud.",
"Not recommended, use for testing only." => "No recomendado, sólo para pruebas.",
"Cache Time-To-Live" => "Tiempo de vida del caché",
"in seconds. A change empties the cache." => "en segundos. Cambiarlo vacía la cache.",
"Directory Settings" => "Configuración de Directorio",
"User Display Name Field" => "Campo de nombre de usuario a mostrar",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "El atributo LDAP a usar para generar el nombre de usuario de ownCloud.",
"Base User Tree" => "Árbol base de usuario",
"One User Base DN per line" => "Una DN base de usuario por línea",
"User Search Attributes" => "Atributos de la búsqueda de usuario",
"Optional; one attribute per line" => "Opcional; un atributo por linea",
"Group Display Name Field" => "Campo de nombre de grupo a mostrar",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "El atributo LDAP a usar para generar el nombre de los grupos de ownCloud.",
"Base Group Tree" => "Árbol base de grupo",
"One Group Base DN per line" => "Una DN base de grupo por línea",
"Group Search Attributes" => "Atributos de búsqueda de grupo",
@@ -75,13 +70,10 @@
"User Home Folder Naming Rule" => "Regla de nombre de los directorios de usuario",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Vacío para el nombre de usuario (por defecto). En otro caso, especificá un atributo LDAP/AD.",
"Internal Username" => "Nombre interno de usuario",
-"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "Por defecto, el nombre interno de usuario va a ser creado a partir del atributo UUID. Esto asegura que el nombre de usuario es único y los caracteres no necesitan ser convertidos. Para el nombre de usuario interno sólo se pueden usar estos caracteres: [a-zA-Z0-9_.@-]. Otros caracteres son sustituidos por su correspondiente en ASCII o simplemente omitidos. Si ocurrieran colisiones, un número será añadido o incrementado. El nombre interno de usuario se usa para identificar un usuario internamente. Es también el nombre por defecto para el directorio personal del usuario in ownCloud. También es un puerto de URLs remotas, por ejemplo, para todos los servicios *DAV. Con esta configuración el comportamiento por defecto puede ser cambiado. Para conseguir un comportamiento similar al anterior a ownCloud 5, ingresá el atributo del nombre en pantalla del usuario en el siguiente campo. Dejalo vacío para el comportamiento por defecto. Los cambios solo tendrán efecto para los nuevos usuarios LDAP.",
"Internal Username Attribute:" => "Atributo Nombre Interno de usuario:",
"Override UUID detection" => "Sobrescribir la detección UUID",
-"By default, ownCloud autodetects the UUID attribute. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users and groups." => "Por defecto, ownCloud detecta automáticamente el atributo UUID. El atributo UUID se usa para identificar indudablemente usuarios y grupos LDAP. Además, el nombre de usuario interno va a ser creado en base al UUID, si no ha sido especificado otro comportamiento arriba. Podés sobrescribir la configuración y pasar un atributo de tu elección. Tenés que asegurarte de que el atributo de tu elección sea accesible por los usuarios y grupos y ser único. Dejalo en blanco para usar el comportamiento por defecto. Los cambios tendrán efecto sólo en los nuevos usuarios y grupos de LDAP.",
"UUID Attribute:" => "Atributo UUID:",
"Username-LDAP User Mapping" => "Asignación del Nombre de usuario de un usuario LDAP",
-"ownCloud uses usernames to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from ownCloud username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found by ownCloud. The internal ownCloud name is used all over in ownCloud. Clearing the Mappings will have leftovers everywhere. Clearing the Mappings is not configuration sensitive, it affects all LDAP configurations! Do never clear the mappings in a production environment. Only clear mappings in a testing or experimental stage." => "ownCloud usa nombres de usuario para almacenar y asignar (meta) datos. Con el fin de identificar con precisión y reconocer usuarios, cada usuario LDAP tendrá un nombre de usuario interno. Esto requiere una asignación de nombre de usuario de ownCloud a usuario LDAP. El nombre de usuario creado se asigna al UUID del usuario LDAP. Además el DN se almacena en caché principalmente para reducir la interacción de LDAP, pero no se utiliza para la identificación. Si la DN cambia, los cambios serán encontrados por ownCloud. El nombre interno de ownCloud se utiliza para todo en ownCloud. Borrar las asignaciones dejará restos en distintos lugares. Borrar las asignaciones no depende de la configuración, ¡afecta a todas las configuraciones de LDAP! No borrar nunca las asignaciones en un entorno de producción. Sólo borrar asignaciones en una situación de prueba o experimental.",
"Clear Username-LDAP User Mapping" => "Borrar la asignación de los Nombres de usuario de los usuarios LDAP",
"Clear Groupname-LDAP Group Mapping" => "Borrar la asignación de los Nombres de grupo de los grupos de LDAP",
"Test Configuration" => "Probar configuración",
diff --git a/apps/user_ldap/l10n/et_EE.php b/apps/user_ldap/l10n/et_EE.php
index 39346def039f056196426f3f0965df2cb217b9c1..7e5c0a6fec8bf3828bcf656c1dd2bf9f34c16818 100644
--- a/apps/user_ldap/l10n/et_EE.php
+++ b/apps/user_ldap/l10n/et_EE.php
@@ -15,7 +15,6 @@
"Connection test failed" => "Ühenduse testimine ebaõnnestus",
"Do you really want to delete the current Server Configuration?" => "Oled kindel, et tahad kustutada praegust serveri seadistust?",
"Confirm Deletion" => "Kinnita kustutamine",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Hoiatus: rakendused user_ldap ja user_webdavauht ei ole ühilduvad. Töös võib esineda ootamatuid tõrkeid.\nPalu oma süsteemihalduril üks neist rakendustest kasutusest eemaldada.",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "Hoiatus:PHP LDAP moodul pole paigaldatud ning LDAP kasutamine ei ole võimalik. Palu oma süsteeihaldurit see paigaldada.",
"Server configuration" => "Serveri seadistus",
"Add Server Configuration" => "Lisa serveri seadistus",
@@ -45,24 +44,20 @@
"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "Lisa täiendav LDAP/AD server, mida replikeeritakse peaserveriga.",
"Backup (Replica) Port" => "Varuserveri (replika) port",
"Disable Main Server" => "Ära kasuta peaserverit",
-"When switched on, ownCloud will only connect to the replica server." => "Märgituna ownCloud ühendub ainult varuserverisse.",
"Use TLS" => "Kasuta TLS-i",
"Do not use it additionally for LDAPS connections, it will fail." => "LDAPS puhul ära kasuta. Ühendus ei toimi.",
"Case insensitve LDAP server (Windows)" => "Mittetõstutundlik LDAP server (Windows)",
"Turn off SSL certificate validation." => "Lülita SSL sertifikaadi kontrollimine välja.",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Kui ühendus toimib ainult selle valikuga, siis impordi LDAP serveri SSL sertifikaat oma ownCloud serverisse.",
"Not recommended, use for testing only." => "Pole soovitatav, kasuta ainult testimiseks.",
"Cache Time-To-Live" => "Puhvri iga",
"in seconds. A change empties the cache." => "sekundites. Muudatus tühjendab vahemälu.",
"Directory Settings" => "Kataloogi seaded",
"User Display Name Field" => "Kasutaja näidatava nime väli",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "LDAP omadus, mida kasutatakse kasutaja ownCloudi nime loomiseks.",
"Base User Tree" => "Baaskasutaja puu",
"One User Base DN per line" => "Üks kasutajate baas-DN rea kohta",
"User Search Attributes" => "Kasutaja otsingu atribuudid",
"Optional; one attribute per line" => "Valikuline; üks atribuut rea kohta",
"Group Display Name Field" => "Grupi näidatava nime väli",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "LDAP omadus, mida kasutatakse ownCloudi grupi nime loomiseks.",
"Base Group Tree" => "Baasgrupi puu",
"One Group Base DN per line" => "Üks grupi baas-DN rea kohta",
"Group Search Attributes" => "Grupi otsingu atribuudid",
@@ -75,13 +70,10 @@
"User Home Folder Naming Rule" => "Kasutaja kodukataloogi nimetamise reegel",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Kasutajanime (vaikeväärtus) kasutamiseks jäta tühjaks. Vastasel juhul määra LDAP/AD omadus.",
"Internal Username" => "Sisemine kasutajanimi",
-"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "Vaikimisi tekitatakse sisemine kasutajanimi UUID atribuudist. See tagab, et kasutajanimi on unikaalne ja sümboleid pole vaja muuta. Sisemisel kasutajatunnuse puhul on lubatud ainult järgmised sümbolid: [ a-zA-Z0-9_.@- ]. Muud sümbolid asendatakse nende ASCII vastega või lihtsalt hüljatakse. Tõrgete korral lisatakse number või suurendatakse seda. Sisemist kasutajatunnust kasutatakse kasutaja sisemiseks tuvastamiseks. Ühtlasi on see ownCloudis kasutaja vaikimisi kodukataloogi nimeks. See on ka serveri URL pordiks, näiteks kõikidel *DAV teenustel.Selle seadistusega saab tühistada vaikimisi käitumise. Saavutamaks sarnast käitumist eelnevate ownCloud 5 versioonidega, sisesta kasutaja kuvatava nime atribuut järgnevale väljale. Vaikimisi seadistuseks jäta tühjaks. Muudatused mõjutavad ainult uusi LDAP kasutajate vastendusi (lisatud).",
"Internal Username Attribute:" => "Sisemise kasutajatunnuse atribuut:",
"Override UUID detection" => "Tühista UUID tuvastus",
-"By default, ownCloud autodetects the UUID attribute. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users and groups." => "Vaikimis ownCloud tuvastab automaatlselt UUID atribuudi. UUID atribuuti kasutatakse LDAP kasutajate ja gruppide kindlaks tuvastamiseks. Samuti tekitatakse sisemine kasutajanimi UUID alusel, kui pole määratud teisiti. Sa saad tühistada selle seadistuse ning määrata atribuudi omal valikul. Pead veenduma, et valitud atribuut toimib nii kasutajate kui gruppide puhul ning on unikaalne. Vaikimisi seadistuseks jäta tühjaks. Muudatused mõjutavad ainult uusi LDAP kasutajate vastendusi (lisatud).",
"UUID Attribute:" => "UUID atribuut:",
"Username-LDAP User Mapping" => "LDAP-Kasutajatunnus Kasutaja Vastendus",
-"ownCloud uses usernames to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from ownCloud username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found by ownCloud. The internal ownCloud name is used all over in ownCloud. Clearing the Mappings will have leftovers everywhere. Clearing the Mappings is not configuration sensitive, it affects all LDAP configurations! Do never clear the mappings in a production environment. Only clear mappings in a testing or experimental stage." => "ownCloud kasutab kasutajanime talletamaks ja omistamaks (pseudo) andmeid. Et täpselt tuvastada ja määratleda kasutajaid, iga LDAP kasutaja peab omama sisemist kasutajatunnust. See vajab ownCloud kasutajatunnuse vastendust LDAP kasutajaks. Tekitatud kasutanimi vastendatakse LDAP kasutaja UUID-iks. Lisaks puhverdatakse DN vähendamaks LDAP päringuid, kuid seda ei kasutata tuvastamisel. ownCloud suudab tuvastada ka DN muutumise. ownCloud sisemist kasutajatunnust kasutatakse üle kogu ownCloudi. Eemaldates vastenduse tekivad kõikjal andmejäägid. Vastenduste eemaldamine ei ole konfiguratsiooni tundlik, see mõjutab kõiki LDAP seadistusi! Ära kunagi eemalda vastendusi produktsioonis! Seda võid teha ainult testis või katsetuste masinas.",
"Clear Username-LDAP User Mapping" => "Puhasta LDAP-Kasutajatunnus Kasutaja Vastendus",
"Clear Groupname-LDAP Group Mapping" => "Puhasta LDAP-Grupinimi Grupp Vastendus",
"Test Configuration" => "Testi seadistust",
diff --git a/apps/user_ldap/l10n/eu.php b/apps/user_ldap/l10n/eu.php
index 42f184e53902efa1b5af5bec74247e2a255bf8ed..c825a63427268e7c6023f0f58cdb1e28cd399917 100644
--- a/apps/user_ldap/l10n/eu.php
+++ b/apps/user_ldap/l10n/eu.php
@@ -13,7 +13,6 @@
"Connection test failed" => "Konexio frogak huts egin du",
"Do you really want to delete the current Server Configuration?" => "Ziur zaude Zerbitzariaren Konfigurazioa ezabatu nahi duzula?",
"Confirm Deletion" => "Baieztatu Ezabatzea",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Abisua: user_ldap eta user_webdavauth aplikazioak bateraezinak dira. Portaera berezia izan dezakezu. Mesedez eskatu zure sistema kudeatzaileari bietako bat desgaitzeko.",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "Abisua: PHPk behar duen LDAP modulua ez dago instalaturik, motorrak ez du funtzionatuko. Mesedez eskatu zure sistema kudeatzaileari instala dezan.",
"Server configuration" => "Zerbitzariaren konfigurazioa",
"Add Server Configuration" => "Gehitu Zerbitzariaren Konfigurazioa",
@@ -43,24 +42,20 @@
"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "Eman babeskopia ostalari gehigarri bat. LDAP/AD zerbitzari nagusiaren replica bat izan behar da.",
"Backup (Replica) Port" => "Babeskopia (Replica) Ataka",
"Disable Main Server" => "Desgaitu Zerbitzari Nagusia",
-"When switched on, ownCloud will only connect to the replica server." => "Markatuta dagoenean, ownCloud bakarrik replica zerbitzarira konektatuko da.",
"Use TLS" => "Erabili TLS",
"Do not use it additionally for LDAPS connections, it will fail." => "Ez erabili LDAPS konexioetarako, huts egingo du.",
"Case insensitve LDAP server (Windows)" => "Maiuskulak eta minuskulak ezberditzen ez dituen LDAP zerbitzaria (windows)",
"Turn off SSL certificate validation." => "Ezgaitu SSL ziurtagirien egiaztapena.",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Konexioa aukera hau ezinbestekoa badu, inportatu LDAP zerbitzariaren SSL ziurtagiria zure ownCloud zerbitzarian.",
"Not recommended, use for testing only." => "Ez da aholkatzen, erabili bakarrik frogak egiteko.",
"Cache Time-To-Live" => "Katxearen Bizi-Iraupena",
"in seconds. A change empties the cache." => "segundutan. Aldaketak katxea husten du.",
"Directory Settings" => "Karpetaren Ezarpenak",
"User Display Name Field" => "Erabiltzaileen bistaratzeko izena duen eremua",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "ownCloud erabiltzailearen izena sortzeko erabiliko den LDAP atributua",
"Base User Tree" => "Oinarrizko Erabiltzaile Zuhaitza",
"One User Base DN per line" => "Erabiltzaile DN Oinarri bat lerroko",
"User Search Attributes" => "Erabili Bilaketa Atributuak ",
"Optional; one attribute per line" => "Aukerakoa; atributu bat lerro bakoitzeko",
"Group Display Name Field" => "Taldeen bistaratzeko izena duen eremua",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "ownCloud taldearen izena sortzeko erabiliko den LDAP atributua",
"Base Group Tree" => "Oinarrizko Talde Zuhaitza",
"One Group Base DN per line" => "Talde DN Oinarri bat lerroko",
"Group Search Attributes" => "Taldekatu Bilaketa Atributuak ",
@@ -72,6 +67,7 @@
"Email Field" => "Eposta eremua",
"User Home Folder Naming Rule" => "Erabiltzailearen Karpeta Nagusia Izendatzeko Patroia",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Utzi hutsik erabiltzaile izenarako (lehentsia). Bestela zehaztu LDAP/AD atributua.",
+"Internal Username" => "Barneko erabiltzaile izena",
"Test Configuration" => "Egiaztatu Konfigurazioa",
"Help" => "Laguntza"
);
diff --git a/apps/user_ldap/l10n/fa.php b/apps/user_ldap/l10n/fa.php
index bef13457adb7cc80bae02c2464a5aa7a84aa7e71..151e0cab285460b96b56a2c0c373b17eae8d9c8e 100644
--- a/apps/user_ldap/l10n/fa.php
+++ b/apps/user_ldap/l10n/fa.php
@@ -1,8 +1,13 @@
"عدم موفقیت در پاک کردن نگاشت.",
"Failed to delete the server configuration" => "عملیات حذف پیکربندی سرور ناموفق ماند",
"The configuration is valid and the connection could be established!" => "پیکربندی معتبر است و ارتباط می تواند برقرار شود",
+"The configuration is valid, but the Bind failed. Please check the server settings and credentials." => "پیکربندی معتبراست، اما اتصال شکست خورد. لطفا تنظیمات و اعتبارهای سرور را بررسی کنید.",
"Deletion failed" => "حذف کردن انجام نشد",
"Keep settings?" => "آیا تنظیمات ذخیره شود ؟",
+"Cannot add server configuration" => "نمی توان پیکربندی سرور را اضافه نمود",
+"mappings cleared" => "نگاشت پاک شده است",
+"Success" => "موفقیت",
"Error" => "خطا",
"Connection test succeeded" => "تست اتصال با موفقیت انجام گردید",
"Connection test failed" => "تست اتصال ناموفق بود",
@@ -11,9 +16,52 @@
"Server configuration" => "پیکربندی سرور",
"Add Server Configuration" => "افزودن پیکربندی سرور",
"Host" => "میزبانی",
+"Base DN" => "پایه DN",
+"One Base DN per line" => "یک پایه DN در هر خط",
+"You can specify Base DN for users and groups in the Advanced tab" => "شما می توانید پایه DN را برای کاربران و گروه ها در زبانه Advanced مشخص کنید.",
+"User DN" => "کاربر DN",
"Password" => "گذرواژه",
+"For anonymous access, leave DN and Password empty." => "برای دسترسی ناشناس، DN را رها نموده و رمزعبور را خالی بگذارید.",
+"User Login Filter" => "فیلتر ورودی کاربر",
"Group Filter" => "فیلتر گروه",
+"without any placeholder, e.g. \"objectClass=posixGroup\"." => "بدون هیچ گونه حفره یا سوراخ، به عنوان مثال، \"objectClass = posixGroup\".",
+"Connection Settings" => "تنظیمات اتصال",
+"Configuration Active" => "پیکربندی فعال",
+"When unchecked, this configuration will be skipped." => "زمانیکه انتخاب نشود، این پیکربندی نادیده گرفته خواهد شد.",
"Port" => "درگاه",
+"Backup (Replica) Host" => "پشتیبان گیری (بدل) میزبان",
+"Backup (Replica) Port" => "پشتیبان گیری (بدل) پورت",
+"Disable Main Server" => "غیر فعال کردن سرور اصلی",
+"Use TLS" => "استفاده ازTLS",
+"Do not use it additionally for LDAPS connections, it will fail." => "علاوه بر این برای اتصالات LDAPS از آن استفاده نکنید، با شکست مواجه خواهد شد.",
+"Case insensitve LDAP server (Windows)" => "غیر حساس به بزرگی و کوچکی حروف LDAP سرور (ویندوز)",
+"Turn off SSL certificate validation." => "غیرفعال کردن اعتبار گواهی نامه SSL .",
+"Not recommended, use for testing only." => "توصیه نمی شود، تنها برای آزمایش استفاده کنید.",
+"Directory Settings" => "تنظیمات پوشه",
+"User Display Name Field" => "فیلد نام کاربر",
+"Base User Tree" => "کاربر درخت پایه",
+"One User Base DN per line" => "یک کاربر پایه DN در هر خط",
+"User Search Attributes" => "ویژگی های جستجوی کاربر",
+"Optional; one attribute per line" => "اختیاری؛ یک ویژگی در هر خط",
+"Group Display Name Field" => "فیلد نام گروه",
+"Base Group Tree" => "گروه درخت پایه ",
+"One Group Base DN per line" => "یک گروه پایه DN در هر خط",
+"Group Search Attributes" => "گروه صفات جستجو",
+"Group-Member association" => "انجمن گروه کاربران",
+"Special Attributes" => "ویژگی های مخصوص",
+"Quota Field" => "سهمیه بندی انجام نشد.",
+"Quota Default" => "سهمیه بندی پیش فرض",
"in bytes" => "در بایت",
+"Email Field" => "ایمیل ارسال نشد.",
+"User Home Folder Naming Rule" => "قانون نامگذاری پوشه خانه کاربر",
+"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "خالی گذاشتن برای نام کاربری (پیش فرض). در غیر این صورت، تعیین یک ویژگی LDAP/AD.",
+"Internal Username" => "نام کاربری داخلی",
+"Internal Username Attribute:" => "ویژگی نام کاربری داخلی:",
+"Override UUID detection" => "نادیده گرفتن تشخیص UUID ",
+"UUID Attribute:" => "صفت UUID:",
+"Username-LDAP User Mapping" => "نام کاربری - نگاشت کاربر LDAP ",
+"Clear Username-LDAP User Mapping" => "پاک کردن نام کاربری- LDAP نگاشت کاربر ",
+"Clear Groupname-LDAP Group Mapping" => "پاک کردن نام گروه -LDAP گروه نقشه برداری",
+"Test Configuration" => "امتحان پیکربندی",
"Help" => "راهنما"
);
diff --git a/apps/user_ldap/l10n/fi_FI.php b/apps/user_ldap/l10n/fi_FI.php
index 38a8b99cf7e5424a0fd82fba75cb240869b265a3..7833b301acaf32a45c7d1c7af1635b9985920c47 100644
--- a/apps/user_ldap/l10n/fi_FI.php
+++ b/apps/user_ldap/l10n/fi_FI.php
@@ -30,15 +30,12 @@
"Use TLS" => "Käytä TLS:ää",
"Case insensitve LDAP server (Windows)" => "Kirjainkoosta piittamaton LDAP-palvelin (Windows)",
"Turn off SSL certificate validation." => "Poista käytöstä SSL-varmenteen vahvistus",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Jos yhteys toimii vain tällä valinnalla, siirrä LDAP-palvelimen SSL-varmenne ownCloud-palvelimellesi.",
"Not recommended, use for testing only." => "Ei suositella, käytä vain testausta varten.",
"in seconds. A change empties the cache." => "sekunneissa. Muutos tyhjentää välimuistin.",
"Directory Settings" => "Hakemistoasetukset",
"User Display Name Field" => "Käyttäjän näytettävän nimen kenttä",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "LDAP-attribuutti, jota käytetään käyttäjän ownCloud-käyttäjänimenä ",
"Base User Tree" => "Oletuskäyttäjäpuu",
"Group Display Name Field" => "Ryhmän \"näytettävä nimi\"-kenttä",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "LDAP-attribuutti, jota käytetään luomaan ryhmän ownCloud-nimi",
"Base Group Tree" => "Ryhmien juuri",
"Group-Member association" => "Ryhmän ja jäsenen assosiaatio (yhteys)",
"in bytes" => "tavuissa",
diff --git a/apps/user_ldap/l10n/fr.php b/apps/user_ldap/l10n/fr.php
index 11f8fbaaf4483ec1f1fb8507a81f8c0f946f7505..4820960eb369f2987496f8da75a53aacbb7a5c99 100644
--- a/apps/user_ldap/l10n/fr.php
+++ b/apps/user_ldap/l10n/fr.php
@@ -15,7 +15,6 @@
"Connection test failed" => "Test de connexion échoué",
"Do you really want to delete the current Server Configuration?" => "Êtes-vous vraiment sûr de vouloir effacer la configuration actuelle du serveur ?",
"Confirm Deletion" => "Confirmer la suppression",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Avertissement: Les applications user_ldap et user_webdavauth sont incompatibles. Des disfonctionnements peuvent survenir. Contactez votre administrateur système pour qu'il désactive l'une d'elles.",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "Attention : Le module php LDAP n'est pas installé, par conséquent cette extension ne pourra fonctionner. Veuillez contacter votre administrateur système afin qu'il l'installe.",
"Server configuration" => "Configuration du serveur",
"Add Server Configuration" => "Ajouter une configuration du serveur",
@@ -45,24 +44,20 @@
"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "Fournir un serveur de backup optionnel. Il doit s'agir d'une réplique du serveur LDAP/AD principal.",
"Backup (Replica) Port" => "Port du serveur de backup (réplique)",
"Disable Main Server" => "Désactiver le serveur principal",
-"When switched on, ownCloud will only connect to the replica server." => "Lorsqu'activé, ownCloud ne se connectera qu'au serveur répliqué.",
"Use TLS" => "Utiliser TLS",
"Do not use it additionally for LDAPS connections, it will fail." => "À ne pas utiliser pour les connexions LDAPS (cela échouera).",
"Case insensitve LDAP server (Windows)" => "Serveur LDAP insensible à la casse (Windows)",
"Turn off SSL certificate validation." => "Désactiver la validation du certificat SSL.",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Si la connexion ne fonctionne qu'avec cette option, importez le certificat SSL du serveur LDAP dans le serveur ownCloud.",
"Not recommended, use for testing only." => "Non recommandé, utilisation pour tests uniquement.",
"Cache Time-To-Live" => "Durée de vie du cache",
"in seconds. A change empties the cache." => "en secondes. Tout changement vide le cache.",
"Directory Settings" => "Paramètres du répertoire",
"User Display Name Field" => "Champ \"nom d'affichage\" de l'utilisateur",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "L'attribut LDAP utilisé pour générer les noms d'utilisateurs d'ownCloud.",
"Base User Tree" => "DN racine de l'arbre utilisateurs",
"One User Base DN per line" => "Un DN racine utilisateur par ligne",
"User Search Attributes" => "Recherche des attributs utilisateur",
"Optional; one attribute per line" => "Optionnel, un attribut par ligne",
"Group Display Name Field" => "Champ \"nom d'affichage\" du groupe",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "L'attribut LDAP utilisé pour générer les noms de groupes d'ownCloud.",
"Base Group Tree" => "DN racine de l'arbre groupes",
"One Group Base DN per line" => "Un DN racine groupe par ligne",
"Group Search Attributes" => "Recherche des attributs du groupe",
@@ -75,13 +70,10 @@
"User Home Folder Naming Rule" => "Convention de nommage du répertoire utilisateur",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Laisser vide ",
"Internal Username" => "Nom d'utilisateur interne",
-"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "Par défaut le nom d'utilisateur interne sera créé à partir de l'attribut UUID. Ceci permet d'assurer que le nom d'utilisateur est unique et que les caractères ne nécessitent pas de convertion. Le nom d'utilisateur interne doit contenir seulement les caractères suivants: [ a-zA-Z0-9_.@- ]. Les autres caractères sont remplacés par leur correspondance ASCII ou simplement omis. En cas de collision le nombre est incrémenté/décrémenté. Le nom d'utilisateur interne est utilisé pour identifier l'utilisateur au sein du système. C'est aussi le nom par défaut du répertoire utilisateur dans ownCloud. C'est aussi le port d'URLs distants, par exemple pour tous les services *DAV. Le comportement par défaut peut être modifié à l'aide de ce paramètre. Pour obtenir un comportement similaire aux versions précédentes à ownCloud 5, saisir le nom d'utilisateur à afficher dans le champ suivant. Laissez à blanc pour le comportement par défaut. Les modifications prendront effet seulement pour les nouveaux (ajoutés) utilisateurs LDAP.",
"Internal Username Attribute:" => "Nom d'utilisateur interne:",
"Override UUID detection" => "Surcharger la détection d'UUID",
-"By default, ownCloud autodetects the UUID attribute. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users and groups." => "Par défaut, ownCloud détecte automatiquement l'attribut UUID. L'attribut UUID est utilisé pour identifier les utilisateurs et groupes de façon prédictive. De plus, le nom d'utilisateur interne sera créé basé sur l'UUID s'il n'est pas explicité ci-dessus. Vous pouvez modifier ce comportement et définir l'attribut de votre choix. Vous devez alors vous assurer que l'attribut de votre choix peut être récupéré pour les utilisateurs ainsi que pour les groupes et qu'il soit unique. Laisser à blanc pour le comportement par défaut. Les modifications seront effectives uniquement pour les nouveaux (ajoutés) utilisateurs et groupes LDAP.",
"UUID Attribute:" => "Attribut UUID :",
"Username-LDAP User Mapping" => "Association Nom d'utilisateur-Utilisateur LDAP",
-"ownCloud uses usernames to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from ownCloud username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found by ownCloud. The internal ownCloud name is used all over in ownCloud. Clearing the Mappings will have leftovers everywhere. Clearing the Mappings is not configuration sensitive, it affects all LDAP configurations! Do never clear the mappings in a production environment. Only clear mappings in a testing or experimental stage." => "ownCloud utilise les noms d'utilisateurs pour le stockage et l'assignation de (meta) data. Pour identifier et reconnaitre précisément les utilisateurs, chaque utilisateur aura un nom interne spécifique. Cela requiert l'association d'un nom d'utilisateur ownCloud à un nom d'utilisateur LDAP. Le nom d'utilisateur créé est associé à l'attribut UUID de l'utilisateur LDAP. Par ailleurs le DN est mémorisé en cache pour limiter les interactions LDAP mais il n'est pas utilisé pour l'identification. ownCloud détectera le changement de DN, le cas échéant. Seul le nom interne à ownCloud est utilisé au sein du produit. Supprimer les associations créera des orphelins et l'action affectera toutes les configurations LDAP. NE JAMAIS SUPPRIMER LES ASSOCIATIONS EN ENVIRONNEMENT DE PRODUCTION. Le faire seulement sur les environnements de tests et d'expérimentation.",
"Clear Username-LDAP User Mapping" => "Supprimer l'association utilisateur interne-utilisateur LDAP",
"Clear Groupname-LDAP Group Mapping" => "Supprimer l'association nom de groupe-groupe LDAP",
"Test Configuration" => "Tester la configuration",
diff --git a/apps/user_ldap/l10n/gl.php b/apps/user_ldap/l10n/gl.php
index 3f44ccd9bd1a0a95a2b87ec43f4dd1894f7a9897..14706db8d1d1b4afd2780574ee70ed0a9f2236e2 100644
--- a/apps/user_ldap/l10n/gl.php
+++ b/apps/user_ldap/l10n/gl.php
@@ -15,7 +15,7 @@
"Connection test failed" => "A proba de conexión fracasou",
"Do you really want to delete the current Server Configuration?" => "Confirma que quere eliminar a configuración actual do servidor?",
"Confirm Deletion" => "Confirmar a eliminación",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Aviso: Os aplicativos user_ldap e user_webdavauth son incompatíbeis. Pode acontecer un comportamento estraño. Consulte co administrador do sistema para desactivar un deles.",
+"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." => "Aviso: Os aplicativos user_ldap e user_webdavauth son incompatíbeis. Pode acontecer un comportamento estraño. Consulte co administrador do sistema para desactivar un deles.",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "Aviso: O módulo PHP LDAP non está instalado, o servidor non funcionará. Consulte co administrador do sistema para instalalo.",
"Server configuration" => "Configuración do servidor",
"Add Server Configuration" => "Engadir a configuración do servidor",
@@ -45,24 +45,24 @@
"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "Indicar un servidor de copia de seguranza opcional. Debe ser unha réplica do servidor principal LDAP/AD.",
"Backup (Replica) Port" => "Porto da copia de seguranza (Réplica)",
"Disable Main Server" => "Desactivar o servidor principal",
-"When switched on, ownCloud will only connect to the replica server." => "Cando está activado, ownCloud só se conectará ao servidor de réplica.",
+"Only connect to the replica server." => "Conectar só co servidor de réplica.",
"Use TLS" => "Usar TLS",
"Do not use it additionally for LDAPS connections, it will fail." => "Non utilizalo ademais para conexións LDAPS xa que fallará.",
"Case insensitve LDAP server (Windows)" => "Servidor LDAP que non distingue entre maiúsculas e minúsculas (Windows)",
"Turn off SSL certificate validation." => "Desactiva a validación do certificado SSL.",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Se a conexión só funciona con esta opción importe o certificado SSL do servidor LDAP no seu servidor ownCloud.",
+"If connection only works with this option, import the LDAP server's SSL certificate in your %s server." => "Se a conexión só funciona con esta opción importa o certificado SSL do servidor LDAP no teu servidor %s.",
"Not recommended, use for testing only." => "Non se recomenda. Só para probas.",
"Cache Time-To-Live" => "Tempo de persistencia da caché",
"in seconds. A change empties the cache." => "en segundos. Calquera cambio baleira a caché.",
"Directory Settings" => "Axustes do directorio",
"User Display Name Field" => "Campo de mostra do nome de usuario",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "O atributo LDAP a empregar para xerar o nome de usuario de ownCloud.",
+"The LDAP attribute to use to generate the user's display name." => "O atributo LDAP a empregar para xerar o nome de usuario para amosar.",
"Base User Tree" => "Base da árbore de usuarios",
"One User Base DN per line" => "Un DN base de usuario por liña",
"User Search Attributes" => "Atributos de busca do usuario",
"Optional; one attribute per line" => "Opcional; un atributo por liña",
"Group Display Name Field" => "Campo de mostra do nome de grupo",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "O atributo LDAP úsase para xerar os nomes dos grupos de ownCloud.",
+"The LDAP attribute to use to generate the groups's display name." => "O atributo LDAP úsase para xerar os nomes dos grupos que amosar.",
"Base Group Tree" => "Base da árbore de grupo",
"One Group Base DN per line" => "Un DN base de grupo por liña",
"Group Search Attributes" => "Atributos de busca do grupo",
@@ -75,13 +75,13 @@
"User Home Folder Naming Rule" => "Regra de nomeado do cartafol do usuario",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Deixar baleiro para o nome de usuario (predeterminado). Noutro caso, especifique un atributo LDAP/AD.",
"Internal Username" => "Nome de usuario interno",
-"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "De xeito predeterminado, o nome de usuario interno crease a partires do atributo UUID. Asegurase de que o nome de usuario é único e de non ter que converter os caracteres. O nome de usuario interno ten a limitación de que só están permitidos estes caracteres: [ a-zA-Z0-9_.@- ]. Os outros caracteres substitúense pola súa correspondencia ASCII ou simplemente omítense. Nas colisións engadirase/incrementarase un número. O nome de usuario interno utilizase para identificar a un usuario interno. É tamén o nome predeterminado do cartafol persoal do usuario en ownCloud. Tamén é un porto de URL remoto, por exemplo, para todos os servizos *DAV. Con este axuste, o comportamento predeterminado pode ser sobrescrito. Para lograr un comportamento semellante ao anterior ownCloud 5 introduza o atributo do nome para amosar do usuario no seguinte campo. Déixeo baleiro para o comportamento predeterminado. Os cambios terán efecto só nas novas asignacións (engadidos) de usuarios de LDAP.",
+"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. To achieve a similar behavior as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users." => "De xeito predeterminado, o nome de usuario interno crease a partires do atributo UUID. Asegurase de que o nome de usuario é único e de non ter que converter os caracteres. O nome de usuario interno ten a limitación de que só están permitidos estes caracteres: [ a-zA-Z0-9_.@- ]. Os outros caracteres substitúense pola súa correspondencia ASCII ou simplemente omítense. Nas colisións engadirase/incrementarase un número. O nome de usuario interno utilizase para identificar a un usuario interno. É tamén o nome predeterminado do cartafol persoal do usuario. Tamén é parte dun URL remoto, por exemplo, para todos os servizos *DAV. Con este axuste, o comportamento predeterminado pode ser sobrescrito. Para lograr un comportamento semellante ao anterior ownCloud 5 introduza o atributo do nome para amosar do usuario no seguinte campo. Déixeo baleiro para o comportamento predeterminado. Os cambios terán efecto só nas novas asignacións (engadidos) de usuarios de LDAP.",
"Internal Username Attribute:" => "Atributo do nome de usuario interno:",
"Override UUID detection" => "Ignorar a detección do UUID",
-"By default, ownCloud autodetects the UUID attribute. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users and groups." => "De xeito predeterminado, ownCloud detecta automaticamente o atributo UUID. O atributo UUID utilizase para identificar, sen dúbida, aos usuarios e grupos LDAP. Ademais, crearase o usuario interno baseado no UUID, se non se especifica anteriormente o contrario. Pode anular a configuración e pasar un atributo da súa escolla. Vostede debe asegurarse de que o atributo da súa escolla pode ser recuperado polos usuarios e grupos e de que é único. Déixeo baleiro para o comportamento predeterminado. Os cambios terán efecto só nas novas asignacións (engadidos) de usuarios de LDAP.",
+"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." => "De xeito predeterminado, o atributo UUID é detectado automaticamente. O atributo UUID utilizase para identificar, sen dúbida, aos usuarios e grupos LDAP. Ademais, crearase o usuario interno baseado no UUID, se non se especifica anteriormente o contrario. Pode anular a configuración e pasar un atributo da súa escolla. Vostede debe asegurarse de que o atributo da súa escolla pode ser recuperado polos usuarios e grupos e de que é único. Déixeo baleiro para o comportamento predeterminado. Os cambios terán efecto só nas novas asignacións (engadidos) de usuarios de LDAP.",
"UUID Attribute:" => "Atributo do UUID:",
"Username-LDAP User Mapping" => "Asignación do usuario ao «nome de usuario LDAP»",
-"ownCloud uses usernames to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from ownCloud username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found by ownCloud. The internal ownCloud name is used all over in ownCloud. Clearing the Mappings will have leftovers everywhere. Clearing the Mappings is not configuration sensitive, it affects all LDAP configurations! Do never clear the mappings in a production environment. Only clear mappings in a testing or experimental stage." => "ownCloud utiliza os nomes de usuario para almacenar e asignar (meta) datos. Coa fin de identificar con precisión e recoñecer aos usuarios, cada usuario LDAP terá un nome de usuario interno. Isto require unha asignación de ownCloud nome de usuario a usuario LDAP. O nome de usuario creado asignase ao UUID do usuario LDAP. Ademais o DN almacenase na caché, para así reducir a interacción do LDAP, mais non se utiliza para a identificación. Se o DN cambia, os cambios poden ser atopados polo ownCloud. O nome interno no ownCloud utilizase en todo o ownCloud. A limpeza das asignacións deixará rastros en todas partes. A limpeza das asignacións non é sensíbel á configuración, afecta a todas as configuracións de LDAP! Non limpar nunca as asignacións nun entorno de produción. Limpar as asignacións só en fases de proba ou experimentais.",
+"Usernames are used to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." => "Os nomes de usuario empreganse para almacenar e asignar (meta) datos. Coa fin de identificar con precisión e recoñecer aos usuarios, cada usuario LDAP terá un nome de usuario interno. Isto require unha asignación de ownCloud nome de usuario a usuario LDAP. O nome de usuario creado asignase ao UUID do usuario LDAP. Ademais o DN almacenase na caché, para así reducir a interacción do LDAP, mais non se utiliza para a identificación. Se o DN cambia, os cambios poden ser atopados polo ownCloud. O nome interno no ownCloud utilizase en todo o ownCloud. A limpeza das asignacións deixará rastros en todas partes. A limpeza das asignacións non é sensíbel á configuración, afecta a todas as configuracións de LDAP! Non limpar nunca as asignacións nun entorno de produción. Limpar as asignacións só en fases de proba ou experimentais.",
"Clear Username-LDAP User Mapping" => "Limpar a asignación do usuario ao «nome de usuario LDAP»",
"Clear Groupname-LDAP Group Mapping" => "Limpar a asignación do grupo ao «nome de grupo LDAP»",
"Test Configuration" => "Probar a configuración",
diff --git a/apps/user_ldap/l10n/hu_HU.php b/apps/user_ldap/l10n/hu_HU.php
index 361ae5e0403152cb86e1aad06104744065fc636e..26c96942cc4dca90b34194ebe5d2c47f77e76df5 100644
--- a/apps/user_ldap/l10n/hu_HU.php
+++ b/apps/user_ldap/l10n/hu_HU.php
@@ -15,7 +15,6 @@
"Connection test failed" => "A kapcsolatellenőrzés eredménye: nem sikerült",
"Do you really want to delete the current Server Configuration?" => "Tényleg törölni szeretné a kiszolgáló beállításait?",
"Confirm Deletion" => "A törlés megerősítése",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Figyelem: a user_ldap és user_webdavauth alkalmazások nem kompatibilisek. Együttes használatuk váratlan eredményekhez vezethet. Kérje meg a rendszergazdát, hogy a kettő közül kapcsolja ki az egyiket.",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "Figyelmeztetés: Az LDAP PHP modul nincs telepítve, ezért ez az alrendszer nem fog működni. Kérje meg a rendszergazdát, hogy telepítse!",
"Server configuration" => "A kiszolgálók beállításai",
"Add Server Configuration" => "Új kiszolgáló beállításának hozzáadása",
@@ -45,24 +44,20 @@
"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "Adjon meg egy opcionális másodkiszolgálót. Ez a fő LDAP/AD kiszolgáló szinkron másolata (replikája) kell legyen.",
"Backup (Replica) Port" => "A másodkiszolgáló (replika) portszáma",
"Disable Main Server" => "A fő szerver kihagyása",
-"When switched on, ownCloud will only connect to the replica server." => "Ha ezt bekapcsoljuk, akkor az ownCloud csak a másodszerverekhez kapcsolódik.",
"Use TLS" => "Használjunk TLS-t",
"Do not use it additionally for LDAPS connections, it will fail." => "LDAPS kapcsolatok esetén ne kapcsoljuk be, mert nem fog működni.",
"Case insensitve LDAP server (Windows)" => "Az LDAP-kiszolgáló nem tesz különbséget a kis- és nagybetűk között (Windows)",
"Turn off SSL certificate validation." => "Ne ellenőrizzük az SSL-tanúsítvány érvényességét",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Ha a kapcsolat csak ezzel a beállítással működik, akkor importálja az LDAP-kiszolgáló SSL tanúsítványát az ownCloud kiszolgálóra!",
"Not recommended, use for testing only." => "Nem javasolt, csak tesztelésre érdemes használni.",
"Cache Time-To-Live" => "A gyorsítótár tárolási időtartama",
"in seconds. A change empties the cache." => "másodpercben. A változtatás törli a cache tartalmát.",
"Directory Settings" => "Címtár beállítások",
"User Display Name Field" => "A felhasználónév mezője",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "Ebből az LDAP attribútumból képződik a felhasználó elnevezése, ami megjelenik az ownCloudban.",
"Base User Tree" => "A felhasználói fa gyökere",
"One User Base DN per line" => "Soronként egy felhasználói fa gyökerét adhatjuk meg",
"User Search Attributes" => "A felhasználók lekérdezett attribútumai",
"Optional; one attribute per line" => "Nem kötelező megadni, soronként egy attribútum",
"Group Display Name Field" => "A csoport nevének mezője",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "Ebből az LDAP attribútumból képződik a csoport elnevezése, ami megjelenik az ownCloudban.",
"Base Group Tree" => "A csoportfa gyökere",
"One Group Base DN per line" => "Soronként egy csoportfa gyökerét adhatjuk meg",
"Group Search Attributes" => "A csoportok lekérdezett attribútumai",
diff --git a/apps/user_ldap/l10n/id.php b/apps/user_ldap/l10n/id.php
index c04d09fc671b0f531b856845cf33e5f5f27480fc..0231e2a5961a5c8c14bc77a4c7d90ed740b358b6 100644
--- a/apps/user_ldap/l10n/id.php
+++ b/apps/user_ldap/l10n/id.php
@@ -13,7 +13,6 @@
"Connection test failed" => "Tes koneksi gagal",
"Do you really want to delete the current Server Configuration?" => "Anda ingin menghapus Konfigurasi Server saat ini?",
"Confirm Deletion" => "Konfirmasi Penghapusan",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Peringatan:/b> Aplikasi user_ldap dan user_webdavauth tidak kompatibel. Anda mungkin akan mengalami kejadian yang tidak diharapkan. Silakan minta administrator sistem untuk menonaktifkan salah satunya.",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "Peringatan: Modul LDAP PHP tidak terpasang, perangkat tidak akan bekerja. Silakan minta administrator sistem untuk memasangnya.",
"Server configuration" => "Konfigurasi server",
"Add Server Configuration" => "Tambah Konfigurasi Server",
@@ -43,24 +42,20 @@
"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "Berikan pilihan host cadangan. Harus merupakan replika dari server LDAP/AD utama.",
"Backup (Replica) Port" => "Port Cadangan (Replika)",
"Disable Main Server" => "Nonaktifkan Server Utama",
-"When switched on, ownCloud will only connect to the replica server." => "Saat diaktifkan, ownCloud hanya akan terhubung ke server replika.",
"Use TLS" => "gunakan TLS",
"Do not use it additionally for LDAPS connections, it will fail." => "Jangan gunakan utamanya untuk koneksi LDAPS, koneksi akan gagal.",
"Case insensitve LDAP server (Windows)" => "Server LDAP dengan kapitalisasi tidak sensitif (Windows)",
"Turn off SSL certificate validation." => "matikan validasi sertivikat SSL",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Jika koneksi hanya bekerja dengan opsi ini, impor sertifikat SSL server LDAP dari server ownCloud anda.",
"Not recommended, use for testing only." => "tidak disarankan, gunakan hanya untuk pengujian.",
"Cache Time-To-Live" => "Gunakan Tembolok untuk Time-To-Live",
"in seconds. A change empties the cache." => "dalam detik. perubahan mengosongkan cache",
"Directory Settings" => "Pengaturan Direktori",
"User Display Name Field" => "Bidang Tampilan Nama Pengguna",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "Atribut LDAP yang digunakan untuk menghasilkan nama pengguna ownCloud.",
"Base User Tree" => "Pohon Pengguna Dasar",
"One User Base DN per line" => "Satu Pengguna Base DN per baris",
"User Search Attributes" => "Atribut Pencarian Pengguna",
"Optional; one attribute per line" => "Pilihan; satu atribut per baris",
"Group Display Name Field" => "Bidang Tampilan Nama Grup",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "Atribut LDAP yang digunakan untuk menghasilkan nama grup ownCloud.",
"Base Group Tree" => "Pohon Grup Dasar",
"One Group Base DN per line" => "Satu Grup Base DN per baris",
"Group Search Attributes" => "Atribut Pencarian Grup",
diff --git a/apps/user_ldap/l10n/it.php b/apps/user_ldap/l10n/it.php
index 48bcbdf589a17a16d42851bf96b822ef165a759e..18a1c3f3398532fd90f38a227cf1a2f052b677e8 100644
--- a/apps/user_ldap/l10n/it.php
+++ b/apps/user_ldap/l10n/it.php
@@ -15,7 +15,7 @@
"Connection test failed" => "Prova di connessione non riuscita",
"Do you really want to delete the current Server Configuration?" => "Vuoi davvero eliminare la configurazione attuale del server?",
"Confirm Deletion" => "Conferma l'eliminazione",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Avviso: le applicazioni user_ldap e user_webdavauth sono incompatibili. Potresti riscontrare un comportamento inatteso. Chiedi al tuo amministratore di sistema di disabilitarne uno.",
+"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." => "Avviso: le applicazioni user_ldap e user_webdavauth sono incompatibili. Potresti riscontrare un comportamento inatteso. Chiedi al tuo amministratore di sistema di disabilitarne una.",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "Avviso: il modulo PHP LDAP non è installato, il motore non funzionerà. Chiedi al tuo amministratore di sistema di installarlo.",
"Server configuration" => "Configurazione del server",
"Add Server Configuration" => "Aggiungi configurazione del server",
@@ -45,24 +45,24 @@
"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "Fornisci un host di backup opzionale. Deve essere una replica del server AD/LDAP principale.",
"Backup (Replica) Port" => "Porta di backup (Replica)",
"Disable Main Server" => "Disabilita server principale",
-"When switched on, ownCloud will only connect to the replica server." => "Se abilitata, ownCloud si collegherà solo al server di replica.",
+"Only connect to the replica server." => "Collegati solo al server di replica.",
"Use TLS" => "Usa TLS",
"Do not use it additionally for LDAPS connections, it will fail." => "Da non utilizzare per le connessioni LDAPS, non funzionerà.",
"Case insensitve LDAP server (Windows)" => "Case insensitve LDAP server (Windows)",
"Turn off SSL certificate validation." => "Disattiva il controllo del certificato SSL.",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Se la connessione funziona esclusivamente con questa opzione, importa il certificato SSL del server LDAP nel tuo server ownCloud.",
+"If connection only works with this option, import the LDAP server's SSL certificate in your %s server." => "Se la connessione funziona esclusivamente con questa opzione, importa il certificato SSL del server LDAP nel tuo server %s.",
"Not recommended, use for testing only." => "Non consigliato, utilizzare solo per test.",
"Cache Time-To-Live" => "Tempo di vita della cache",
"in seconds. A change empties the cache." => "in secondi. Il cambio svuota la cache.",
"Directory Settings" => "Impostazioni delle cartelle",
"User Display Name Field" => "Campo per la visualizzazione del nome utente",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "L'attributo LDAP da usare per generare il nome dell'utente ownCloud.",
+"The LDAP attribute to use to generate the user's display name." => "L'attributo LDAP da usare per generare il nome visualizzato dell'utente.",
"Base User Tree" => "Struttura base dell'utente",
"One User Base DN per line" => "Un DN base utente per riga",
"User Search Attributes" => "Attributi di ricerca utente",
"Optional; one attribute per line" => "Opzionale; un attributo per riga",
"Group Display Name Field" => "Campo per la visualizzazione del nome del gruppo",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "L'attributo LDAP da usare per generare il nome del gruppo ownCloud.",
+"The LDAP attribute to use to generate the groups's display name." => "L'attributo LDAP da usare per generare il nome visualizzato del gruppo.",
"Base Group Tree" => "Struttura base del gruppo",
"One Group Base DN per line" => "Un DN base gruppo per riga",
"Group Search Attributes" => "Attributi di ricerca gruppo",
@@ -75,13 +75,13 @@
"User Home Folder Naming Rule" => "Regola di assegnazione del nome della cartella utente",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Lascia vuoto per il nome utente (predefinito). Altrimenti, specifica un attributo LDAP/AD.",
"Internal Username" => "Nome utente interno",
-"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "In modo predefinito, il nome utente interno sarà creato dall'attributo UUID. Ciò assicura che il nome utente sia univoco e che non sia necessario convertire i caratteri. Il nome utente interno consente l'uso di determinati caratteri: [ a-zA-Z0-9_.@- ]. Altri caratteri sono sostituiti con il corrispondente ASCII o sono semplicemente omessi. In caso di conflitto, sarà incrementato/decrementato un numero. Il nome utente interno è utilizzato per identificare un utente internamente. Rappresenta, inoltre, il nome predefinito per la cartella home dell'utente in ownCloud. Costituisce anche una porta di URL remoti, ad esempio per tutti i servizi *DAV. Con questa impostazione, il comportamento predefinito può essere scavalcato. Per ottenere un comportamento simile alle versioni precedenti ownCloud 5, inserisci l'attributo del nome visualizzato dell'utente nel campo seguente. Lascialo vuoto per il comportamento predefinito. Le modifiche avranno effetto solo sui nuovo utenti LDAP associati (aggiunti).",
+"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. To achieve a similar behavior as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users." => "In modo predefinito, il nome utente interno sarà creato dall'attributo UUID. Ciò assicura che il nome utente sia univoco e che non sia necessario convertire i caratteri. Il nome utente interno consente l'uso di determinati caratteri: [ a-zA-Z0-9_.@- ]. Altri caratteri sono sostituiti con il corrispondente ASCII o sono semplicemente omessi. In caso di conflitto, sarà aggiunto/incrementato un numero. Il nome utente interno è utilizzato per identificare un utente internamente. Rappresenta, inoltre, il nome predefinito per la cartella home dell'utente in ownCloud. Costituisce anche una parte di URL remoti, ad esempio per tutti i servizi *DAV. Con questa impostazione, il comportamento predefinito può essere scavalcato. Per ottenere un comportamento simile alle versioni precedenti ownCloud 5, inserisci l'attributo del nome visualizzato dell'utente nel campo seguente. Lascialo vuoto per il comportamento predefinito. Le modifiche avranno effetto solo sui nuovo utenti LDAP associati (aggiunti).",
"Internal Username Attribute:" => "Attributo nome utente interno:",
"Override UUID detection" => "Ignora rilevamento UUID",
-"By default, ownCloud autodetects the UUID attribute. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users and groups." => "In modo predefinito, ownCloud rileva automaticamente l'attributo UUID. L'attributo UUID è utilizzato per identificare senza alcun dubbio gli utenti e i gruppi LDAP. Inoltre, il nome utente interno sarà creato sulla base dell'UUID, se non è specificato in precedenza. Puoi ignorare l'impostazione e fornire un attributo di tua scelta. Assicurati che l'attributo scelto possa essere ottenuto sia per gli utenti che per i gruppi e che sia univoco. Lascialo vuoto per ottenere il comportamento predefinito. Le modifiche avranno effetto solo sui nuovi utenti e gruppi LDAP associati (aggiunti).",
+"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." => "In modo predefinito, l'attributo UUID viene rilevato automaticamente. L'attributo UUID è utilizzato per identificare senza alcun dubbio gli utenti e i gruppi LDAP. Inoltre, il nome utente interno sarà creato sulla base dell'UUID, se non è specificato in precedenza. Puoi ignorare l'impostazione e fornire un attributo di tua scelta. Assicurati che l'attributo scelto possa essere ottenuto sia per gli utenti che per i gruppi e che sia univoco. Lascialo vuoto per ottenere il comportamento predefinito. Le modifiche avranno effetto solo sui nuovi utenti e gruppi LDAP associati (aggiunti).",
"UUID Attribute:" => "Attributo UUID:",
"Username-LDAP User Mapping" => "Associazione Nome utente-Utente LDAP",
-"ownCloud uses usernames to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from ownCloud username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found by ownCloud. The internal ownCloud name is used all over in ownCloud. Clearing the Mappings will have leftovers everywhere. Clearing the Mappings is not configuration sensitive, it affects all LDAP configurations! Do never clear the mappings in a production environment. Only clear mappings in a testing or experimental stage." => "ownCloud utilizza i nomi utente per archiviare e assegnare i (meta) dati. Per identificare con precisione e riconoscere gli utenti, ogni utente LDAP avrà un nome utente interno. Ciò richiede un'associazione tra il nome utente di ownCloud e l'utente LDAP. In aggiunta, il DN viene mantenuto in cache per ridurre l'interazione con LDAP, ma non è utilizzato per l'identificazione. Se il DN cambia, le modifiche saranno rilevate da ownCloud. Il nome utente interno di ownCloud è utilizzato dappertutto in ownCloud. La cancellazione delle associazioni lascerà tracce residue ovunque e interesserà esclusivamente la configurazione LDAP. Non cancellare mai le associazioni in un ambiente di produzione. Procedere alla cancellazione delle associazioni solo in una fase sperimentale o di test.",
+"Usernames are used to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." => "I nomi utente sono utilizzati per archiviare e assegnare i (meta) dati. Per identificare con precisione e riconoscere gli utenti, ogni utente LDAP avrà un nome utente interno. Ciò richiede un'associazione tra il nome utente e l'utente LDAP. In aggiunta, il DN viene mantenuto in cache per ridurre l'interazione con LDAP, ma non è utilizzato per l'identificazione. Se il DN cambia, le modifiche saranno rilevate. Il nome utente interno è utilizzato dappertutto. La cancellazione delle associazioni lascerà tracce residue ovunque e interesserà esclusivamente la configurazione LDAP. Non cancellare mai le associazioni in un ambiente di produzione, ma solo in una fase sperimentale o di test.",
"Clear Username-LDAP User Mapping" => "Cancella associazione Nome utente-Utente LDAP",
"Clear Groupname-LDAP Group Mapping" => "Cancella associazione Nome gruppo-Gruppo LDAP",
"Test Configuration" => "Prova configurazione",
diff --git a/apps/user_ldap/l10n/ja_JP.php b/apps/user_ldap/l10n/ja_JP.php
index 53fa9ae697df3760b086c28d249b71168440f19f..8647574c524facf39f629887aa8c5d92f7f7ca9f 100644
--- a/apps/user_ldap/l10n/ja_JP.php
+++ b/apps/user_ldap/l10n/ja_JP.php
@@ -15,7 +15,6 @@
"Connection test failed" => "接続テストに失敗しました",
"Do you really want to delete the current Server Configuration?" => "現在のサーバ設定を本当に削除してもよろしいですか?",
"Confirm Deletion" => "削除の確認",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "警告: user_ldap と user_webdavauth のアプリには互換性がありません。予期せぬ動作をする可能姓があります。システム管理者にどちらかを無効にするよう問い合わせてください。",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "警告: PHP LDAP モジュールがインストールされていません。バックエンドが正しく動作しません。システム管理者にインストールするよう問い合わせてください。",
"Server configuration" => "サーバ設定",
"Add Server Configuration" => "サーバ設定を追加",
@@ -45,24 +44,20 @@
"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "バックアップホストをオプションで指定することができます。メインのLDAP/ADサーバのレプリカである必要があります。",
"Backup (Replica) Port" => "バックアップ(レプリカ)ポート",
"Disable Main Server" => "メインサーバを無効にする",
-"When switched on, ownCloud will only connect to the replica server." => "有効にすると、ownCloudはレプリカサーバにのみ接続します。",
"Use TLS" => "TLSを利用",
"Do not use it additionally for LDAPS connections, it will fail." => "LDAPS接続のために追加でそれを利用しないで下さい。失敗します。",
"Case insensitve LDAP server (Windows)" => "大文字/小文字を区別しないLDAPサーバ(Windows)",
"Turn off SSL certificate validation." => "SSL証明書の確認を無効にする。",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "接続がこのオプションでのみ動作する場合は、LDAPサーバのSSL証明書をownCloudサーバにインポートしてください。",
"Not recommended, use for testing only." => "推奨しません、テスト目的でのみ利用してください。",
"Cache Time-To-Live" => "キャッシュのTTL",
"in seconds. A change empties the cache." => "秒。変更後にキャッシュがクリアされます。",
"Directory Settings" => "ディレクトリ設定",
"User Display Name Field" => "ユーザ表示名のフィールド",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "ユーザのownCloud名の生成に利用するLDAP属性。",
"Base User Tree" => "ベースユーザツリー",
"One User Base DN per line" => "1行に1つのユーザベースDN",
"User Search Attributes" => "ユーザ検索属性",
"Optional; one attribute per line" => "オプション:1行に1属性",
"Group Display Name Field" => "グループ表示名のフィールド",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "グループのownCloud名の生成に利用するLDAP属性。",
"Base Group Tree" => "ベースグループツリー",
"One Group Base DN per line" => "1行に1つのグループベースDN",
"Group Search Attributes" => "グループ検索属性",
@@ -75,13 +70,10 @@
"User Home Folder Naming Rule" => "ユーザのホームフォルダ命名規則",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "ユーザ名を空のままにしてください(デフォルト)。そうでない場合は、LDAPもしくはADの属性を指定してください。",
"Internal Username" => "内部ユーザ名",
-"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "デフォルトでは、内部ユーザ名はUUID属性から作成されます。これにより、ユーザ名がユニークであり、かつ文字の変換が必要ないことを保証します。内部ユーザ名には、[ a-zA-Z0-9_.@- ] の文字のみが有効であるという制限があり、その他の文字は対応する ASCII コードに変換されるか単に無視されます。そのため、他のユーザ名との衝突の回数が増加するでしょう。内部ユーザ名は、内部的にユーザを識別するために用いられ、また、ownCloudにおけるデフォルトのホームフォルダ名としても用いられます。例えば*DAVサービスのように、リモートURLのポートでもあります。この設定により、デフォルトの振る舞いを再定義します。ownCloud 5 以前と同じような振る舞いにするためには、以下のフィールドにユーザ表示名の属性を入力します。空にするとデフォルトの振る舞いとなります。変更は新しくマッピング(追加)されたLDAPユーザにおいてのみ有効となります。",
"Internal Username Attribute:" => "内部ユーザ名属性:",
"Override UUID detection" => "UUID検出を再定義する",
-"By default, ownCloud autodetects the UUID attribute. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users and groups." => "デフォルトでは、ownCloud は UUID 属性を自動的に検出します。UUID属性は、LDAPユーザとLDAPグループを間違いなく識別するために利用されます。また、もしこれを指定しない場合は、内部ユーザ名はUUIDに基づいて作成されます。この設定は再定義することができ、あなたの選択した属性を用いることができます。選択した属性がユーザとグループの両方に対して適用でき、かつユニークであることを確認してください。空であればデフォルトの振る舞いとなります。変更は、新しくマッピング(追加)されたLDAPユーザとLDAPグループに対してのみ有効となります。",
"UUID Attribute:" => "UUID属性:",
"Username-LDAP User Mapping" => "ユーザ名とLDAPユーザのマッピング",
-"ownCloud uses usernames to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from ownCloud username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found by ownCloud. The internal ownCloud name is used all over in ownCloud. Clearing the Mappings will have leftovers everywhere. Clearing the Mappings is not configuration sensitive, it affects all LDAP configurations! Do never clear the mappings in a production environment. Only clear mappings in a testing or experimental stage." => "ownCloudは(メタ) データの保存と割り当てにユーザ名を使用します。ユーザを正確に識別して認識するために、個々のLDAPユーザは内部ユーザ名を持っています。これは、ownCloudユーザ名とLDAPユーザ名の間のマッピングが必要であることを意味しています。生成されたユーザ名は、LDAPユーザのUUIDとマッピングされます。加えて、DNがLDAPとのインタラクションを削減するためにキャッシュされますが、識別には利用されません。DNが変わった場合は、変更をownCloudが見つけます。内部のownCloud名はownCloud全体に亘って利用されます。マッピングをクリアすると、いたるところに使われないままの物が残るでしょう。マッピングのクリアは設定に敏感ではありませんが、全てのLDAPの設定に影響を与えます!本番の環境では決してマッピングをクリアしないでください。テストもしくは実験の段階でのみマッピングのクリアを行なってください。",
"Clear Username-LDAP User Mapping" => "ユーザ名とLDAPユーザのマッピングをクリアする",
"Clear Groupname-LDAP Group Mapping" => "グループ名とLDAPグループのマッピングをクリアする",
"Test Configuration" => "設定をテスト",
diff --git a/apps/user_ldap/l10n/ka_GE.php b/apps/user_ldap/l10n/ka_GE.php
index 8057f7c845550bdb99e486cf344c5dc9dca4b5c6..07cd3ad79652ecc65499f3d82d091a6b059df5b8 100644
--- a/apps/user_ldap/l10n/ka_GE.php
+++ b/apps/user_ldap/l10n/ka_GE.php
@@ -13,7 +13,6 @@
"Connection test failed" => "კავშირის ტესტირება ვერ მოხერხდა",
"Do you really want to delete the current Server Configuration?" => "ნამდვილად გინდათ წაშალოთ სერვერის მიმდინარე პარამეტრები?",
"Confirm Deletion" => "წაშლის დადასტურება",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "გაფრთხილება: აპლიკაციის user_ldap და user_webdavauth არათავსებადია. თქვენ შეიძლება შეეჩეხოთ მოულოდნელ შშედეგებს. თხოვეთ თქვენს ადმინისტრატორს ჩათიშოს ერთერთი.",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "გაფრთხილება: PHP LDAP მოდული არ არის ინსტალირებული, ბექენდი არ იმუშავებს. თხოვეთ თქვენს ადმინისტრატორს დააინსტალიროს ის.",
"Server configuration" => "სერვერის პარამეტრები",
"Add Server Configuration" => "სერვერის პარამეტრების დამატება",
@@ -43,24 +42,20 @@
"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "მიუთითეთ რაიმე ბექაფ ჰოსტი. ის უნდა იყოს ძირითადი LDAP/AD სერვერის რეპლიკა.",
"Backup (Replica) Port" => "ბექაფ (რეპლიკა) პორტი",
"Disable Main Server" => "გამორთეთ ძირითადი სერვერი",
-"When switched on, ownCloud will only connect to the replica server." => "როცა მონიშნულია, ownCloud დაუკავშირდება მხოლოდ რეპლიკა სერვერს.",
"Use TLS" => "გამოიყენეთ TLS",
"Do not use it additionally for LDAPS connections, it will fail." => "არ გამოიყენოთ დამატებით LDAPS კავშირი. ის წარუმატებლად დასრულდება.",
"Case insensitve LDAP server (Windows)" => "LDAP server (Windows)",
"Turn off SSL certificate validation." => "გამორთეთ SSL სერთიფიკატის ვალიდაცია.",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "იმ შემთხვევაში თუ მუშაობს მხოლოდ ეს ოფცია, დააიმპორტეთ LDAP სერვერის SSL სერთიფიკატი თქვენს ownCloud სერვერზე.",
"Not recommended, use for testing only." => "არ არის რეკომენდირებული, გამოიყენეთ მხოლოდ სატესტოდ.",
"Cache Time-To-Live" => "ქეშის სიცოცხლის ხანგრძლივობა",
"in seconds. A change empties the cache." => "წამებში. ცვლილება ასუფთავებს ქეშს.",
"Directory Settings" => "დირექტორიის პარამეტრები",
"User Display Name Field" => "მომხმარებლის დისფლეის სახელის ფილდი",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "LDAP ატრიბუტი მომხმარებლის ownCloud სახელის გენერაციისთვის.",
"Base User Tree" => "ძირითად მომხმარებელთა სია",
"One User Base DN per line" => "ერთი მომხმარებლის საწყისი DN ერთ ხაზზე",
"User Search Attributes" => "მომხმარებლის ძებნის ატრიბუტი",
"Optional; one attribute per line" => "ოფციონალური; თითო ატრიბუტი თითო ხაზზე",
"Group Display Name Field" => "ჯგუფის დისფლეის სახელის ფილდი",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "LDAP ატრიბუტი ჯგუფის ownCloud სახელის გენერაციისთვის.",
"Base Group Tree" => "ძირითად ჯგუფთა სია",
"One Group Base DN per line" => "ერთი ჯგუფის საწყისი DN ერთ ხაზზე",
"Group Search Attributes" => "ჯგუფური ძებნის ატრიბუტი",
diff --git a/apps/user_ldap/l10n/ko.php b/apps/user_ldap/l10n/ko.php
index b8196e09d09a93f9e4adf0915b35466de90718b2..549233e20c9f6c4f28c743937ccbc4aecaf838db 100644
--- a/apps/user_ldap/l10n/ko.php
+++ b/apps/user_ldap/l10n/ko.php
@@ -4,7 +4,6 @@
"Error" => "오류",
"Connection test succeeded" => "연결 시험 성공",
"Connection test failed" => "연결 시험 실패",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "경고: user_ldap 앱과 user_webdavauth 앱은 호환되지 않습니다. 오동작을 일으킬 수 있으므로, 시스템 관리자에게 요청하여 둘 중 하나만 사용하도록 하십시오.",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "경고: PHP LDAP 모듈이 비활성화되어 있거나 설치되어 있지 않습니다. 백엔드를 사용할 수 없습니다. 시스템 관리자에게 설치를 요청하십시오.",
"Host" => "호스트",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "SSL을 사용하는 경우가 아니라면 프로토콜을 입력하지 않아도 됩니다. SSL을 사용하려면 ldaps://를 입력하십시오.",
@@ -33,17 +32,14 @@
"Use TLS" => "TLS 사용",
"Case insensitve LDAP server (Windows)" => "서버에서 대소문자를 구분하지 않음 (Windows)",
"Turn off SSL certificate validation." => "SSL 인증서 유효성 검사를 해제합니다.",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "이 옵션을 사용해야 연결할 수 있는 경우에는 LDAP 서버의 SSL 인증서를 ownCloud로 가져올 수 있습니다.",
"Not recommended, use for testing only." => "추천하지 않음, 테스트로만 사용하십시오.",
"in seconds. A change empties the cache." => "초. 항목 변경 시 캐시가 갱신됩니다.",
"Directory Settings" => "디렉토리 설정",
"User Display Name Field" => "사용자의 표시 이름 필드",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "LDAP 속성은 사용자의 ownCloud 이름을 생성하기 위해 사용합니다.",
"Base User Tree" => "기본 사용자 트리",
"One User Base DN per line" => "사용자 DN을 한 줄에 하나씩 입력하십시오",
"User Search Attributes" => "사용자 검색 속성",
"Group Display Name Field" => "그룹의 표시 이름 필드",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "LDAP 속성은 그룹의 ownCloud 이름을 생성하기 위해 사용합니다.",
"Base Group Tree" => "기본 그룹 트리",
"One Group Base DN per line" => "그룹 기본 DN을 한 줄에 하나씩 입력하십시오",
"Group Search Attributes" => "그룹 검색 속성",
diff --git a/apps/user_ldap/l10n/lv.php b/apps/user_ldap/l10n/lv.php
index 73ffedcb134637416ea928d11bbc11911020824b..38157c51f1bcb2cc433d14d703012537ea7b8e8a 100644
--- a/apps/user_ldap/l10n/lv.php
+++ b/apps/user_ldap/l10n/lv.php
@@ -12,7 +12,6 @@
"Connection test failed" => "Savienojuma tests cieta neveiksmi",
"Do you really want to delete the current Server Configuration?" => "Vai tiešām vēlaties dzēst pašreizējo servera konfigurāciju?",
"Confirm Deletion" => "Apstiprināt dzēšanu",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Brīdinājums: lietotnes user_ldap un user_webdavauth ir nesavietojamas. Tās var izraisīt negaidītu uzvedību. Lūdzu, prasiet savam sistēmas administratoram kādu no tām deaktivēt.",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "Brīdinājums: PHP LDAP modulis nav uzinstalēts, aizmugure nedarbosies. Lūdzu, prasiet savam sistēmas administratoram kādu no tām deaktivēt.",
"Server configuration" => "Servera konfigurācija",
"Add Server Configuration" => "Pievienot servera konfigurāciju",
@@ -42,24 +41,20 @@
"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "Norādi rezerves serveri (nav obligāti). Tam ir jābūt galvenā LDAP/AD servera kopijai.",
"Backup (Replica) Port" => "Rezerves (kopijas) ports",
"Disable Main Server" => "Deaktivēt galveno serveri",
-"When switched on, ownCloud will only connect to the replica server." => "Kad ieslēgts, ownCloud savienosies tikai ar kopijas serveri.",
"Use TLS" => "Lietot TLS",
"Do not use it additionally for LDAPS connections, it will fail." => "Neizmanto papildu LDAPS savienojumus! Tas nestrādās.",
"Case insensitve LDAP server (Windows)" => "Reģistrnejutīgs LDAP serveris (Windows)",
"Turn off SSL certificate validation." => "Izslēgt SSL sertifikātu validēšanu.",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Ja savienojums darbojas ar šo opciju, importē LDAP serveru SSL sertifikātu savā ownCloud serverī.",
"Not recommended, use for testing only." => "Nav ieteicams, izmanto tikai testēšanai!",
"Cache Time-To-Live" => "Kešatmiņas dzīvlaiks",
"in seconds. A change empties the cache." => "sekundēs. Izmaiņas iztukšos kešatmiņu.",
"Directory Settings" => "Direktorijas iestatījumi",
"User Display Name Field" => "Lietotāja redzamā vārda lauks",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "LDAP atribūts, ko izmantot lietotāja ownCloud vārda veidošanai.",
"Base User Tree" => "Bāzes lietotāju koks",
"One User Base DN per line" => "Viena lietotāju bāzes DN rindā",
"User Search Attributes" => "Lietotāju meklēšanas atribūts",
"Optional; one attribute per line" => "Neobligāti; viens atribūts rindā",
"Group Display Name Field" => "Grupas redzamā nosaukuma lauks",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "LDAP atribūts, ko izmantot grupas ownCloud nosaukuma veidošanai.",
"Base Group Tree" => "Bāzes grupu koks",
"One Group Base DN per line" => "Viena grupu bāzes DN rindā",
"Group Search Attributes" => "Grupu meklēšanas atribūts",
diff --git a/apps/user_ldap/l10n/nb_NO.php b/apps/user_ldap/l10n/nb_NO.php
index f8cdf694ff6f2d392f90dbcda07db766a0cee9aa..880fb41553f0e2696c67ed49e4e15fdf0884282b 100644
--- a/apps/user_ldap/l10n/nb_NO.php
+++ b/apps/user_ldap/l10n/nb_NO.php
@@ -13,7 +13,6 @@
"Connection test failed" => "Tilkoblingstest mislyktes",
"Do you really want to delete the current Server Configuration?" => "Er du sikker på at du vil slette aktiv tjener-konfigurasjon?",
"Confirm Deletion" => "Bekreft sletting",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Advarsel:Apps user_ldap og user_webdavauth er ikke kompatible. Du kan oppleve uventet atferd fra systemet. Vennligst spør din system-administrator om å deaktivere en av dem.",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "Warning: PHP LDAP modulen er ikke installert, hjelperen vil ikke virke. Vennligst be din system-administrator om å installere den.",
"Server configuration" => "Tjener-konfigurasjon",
"Add Server Configuration" => "Legg til tjener-konfigurasjon",
@@ -42,15 +41,12 @@
"Use TLS" => "Bruk TLS",
"Case insensitve LDAP server (Windows)" => "Case-insensitiv LDAP tjener (Windows)",
"Turn off SSL certificate validation." => "Slå av SSL-sertifikat validering",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Hvis tilgang kun fungerer med dette alternativet, importer LDAP-tjenerens SSL-sertifikat til din egen ownCloud tjener.",
"Not recommended, use for testing only." => "Ikke anbefalt, bruk kun for testing",
"in seconds. A change empties the cache." => "i sekunder. En endring tømmer bufferen.",
"User Display Name Field" => "Vis brukerens navnfelt",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "LDAP-attributen å bruke for å generere brukers ownCloud navn.",
"Base User Tree" => "Hovedbruker tre",
"One User Base DN per line" => "En Bruker Base DN pr. linje",
"Group Display Name Field" => "Vis gruppens navnfelt",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "LDAP-attributen å bruke for å generere gruppens ownCloud navn.",
"Base Group Tree" => "Hovedgruppe tre",
"One Group Base DN per line" => "En gruppe hoved-DN pr. linje",
"Group-Member association" => "gruppe-medlem assosiasjon",
diff --git a/apps/user_ldap/l10n/nl.php b/apps/user_ldap/l10n/nl.php
index c75aae3ea4f57fe2e0e43cc2d5e1e7af3f8b7ad4..6b42ce8116b9a891fab4f5d37ef9a79950aab753 100644
--- a/apps/user_ldap/l10n/nl.php
+++ b/apps/user_ldap/l10n/nl.php
@@ -15,7 +15,6 @@
"Connection test failed" => "Verbindingstest mislukt",
"Do you really want to delete the current Server Configuration?" => "Wilt u werkelijk de huidige Serverconfiguratie verwijderen?",
"Confirm Deletion" => "Bevestig verwijderen",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Waarschuwing: De Apps user_ldap en user_webdavauth zijn incompatible. U kunt onverwacht gedrag ervaren. Vraag uw beheerder om een van beide apps de deactiveren.",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "Waarschuwing: De PHP LDAP module is niet geïnstalleerd, het backend zal niet werken. Vraag uw systeembeheerder om de module te installeren.",
"Server configuration" => "Serverconfiguratie",
"Add Server Configuration" => "Toevoegen serverconfiguratie",
@@ -45,24 +44,24 @@
"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "Opgeven optionele backup host. Het moet een replica van de hoofd LDAP/AD server.",
"Backup (Replica) Port" => "Backup (Replica) Poort",
"Disable Main Server" => "Deactiveren hoofdserver",
-"When switched on, ownCloud will only connect to the replica server." => "Wanneer ingeschakeld, zal ownCloud allen verbinden met de replicaserver.",
+"Only connect to the replica server." => "Maak alleen een verbinding met de replica server.",
"Use TLS" => "Gebruik TLS",
"Do not use it additionally for LDAPS connections, it will fail." => "Gebruik het niet voor LDAPS verbindingen, dat gaat niet lukken.",
"Case insensitve LDAP server (Windows)" => "Niet-hoofdlettergevoelige LDAP server (Windows)",
"Turn off SSL certificate validation." => "Schakel SSL certificaat validatie uit.",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Als de connectie alleen werkt met deze optie, importeer dan het LDAP server SSL certificaat naar je ownCloud server.",
+"If connection only works with this option, import the LDAP server's SSL certificate in your %s server." => "Als de connectie alleen werkt met deze optie, importeer dan het LDAP server SSL certificaat naar de %s server.",
"Not recommended, use for testing only." => "Niet aangeraden, gebruik alleen voor test doeleinden.",
"Cache Time-To-Live" => "Cache time-to-live",
"in seconds. A change empties the cache." => "in seconden. Een verandering maakt de cache leeg.",
"Directory Settings" => "Mapinstellingen",
"User Display Name Field" => "Gebruikers Schermnaam Veld",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "Het te gebruiken LDAP attribuut voor het genereren van de ownCloud naam voor de gebruikers.",
+"The LDAP attribute to use to generate the user's display name." => "Het te gebruiken LDAP attribuut voor het genereren van de weergavenaam voor de gebruiker.",
"Base User Tree" => "Basis Gebruikers Structuur",
"One User Base DN per line" => "Een User Base DN per regel",
"User Search Attributes" => "Attributen voor gebruikerszoekopdrachten",
"Optional; one attribute per line" => "Optioneel; één attribuut per regel",
"Group Display Name Field" => "Groep Schermnaam Veld",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "Het te gebruiken LDAP attribuut voor het genereren van de ownCloud naam voor de groepen.",
+"The LDAP attribute to use to generate the groups's display name." => "Het te gebruiken LDAP attribuut voor het genereren van de weergavenaam voor de groepen.",
"Base Group Tree" => "Basis Groupen Structuur",
"One Group Base DN per line" => "Een Group Base DN per regel",
"Group Search Attributes" => "Attributen voor groepszoekopdrachten",
@@ -75,13 +74,10 @@
"User Home Folder Naming Rule" => "Gebruikers Home map naamgevingsregel",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Laat leeg voor de gebruikersnaam (standaard). Of, specificeer een LDAP/AD attribuut.",
"Internal Username" => "Interne gebruikersnaam",
-"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "Standaard wordt de interne gebruikersnaam aangemaakt op basis van de UUID attribuut. Het zorgt ervoor dat de gebruikersnaam uniek is en dat tekens niet hoeven te worden geconverteerd. De interne gebruikersnaam heeft als beperking dat alleen deze tekens zijn toegestaan: [a-zA-Z0-9_.@- ]. Andere tekens worden vervangen door hun ASCII vertaling of gewoonweg weggelaten. Bij identieke namen wordt een nummer toegevoegd of verhoogd. De interne gebruikersnaam wordt gebruikt om een gebruiker binnen het systeem te herkennen. Het is ook de standaardnaam voor de standaardmap van de gebruiker in ownCloud. Het is ook een vertaling voor externe URL's, bijvoorbeeld voor alle * DAV diensten. Met deze instelling kan het standaardgedrag worden overschreven. Om een soortgelijk gedrag te bereiken als van voor ownCloud 5, voer het gebruikersweergavenaam attribuut in in het volgende veld. Laat het leeg voor standaard gedrag. Veranderingen worden alleen toegepast op nieuw in kaart gebracht (toegevoegde) LDAP-gebruikers.",
"Internal Username Attribute:" => "Interne gebruikersnaam attribuut:",
"Override UUID detection" => "Negeren UUID detectie",
-"By default, ownCloud autodetects the UUID attribute. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users and groups." => "Standaard herkent ownCloud het UUID attribuut automatisch. Het UUID attribuut wordt gebruikt om LDAP-gebruikers en -groepen uniek te identificeren. Ook zal de interne gebruikersnaam worden aangemaakt op basis van het UUID, tenzij dit hierboven anders is aangegeven. U kunt de instelling overschrijven en zelf een waarde voor het attribuut opgeven. U moet ervoor zorgen dat het ingestelde attribuut kan worden opgehaald voor zowel gebruikers als groepen en dat het uniek is. Laat het leeg voor standaard gedrag. Veranderingen worden alleen doorgevoerd op nieuw in kaart gebrachte (toegevoegde) LDAP-gebruikers en-groepen.",
"UUID Attribute:" => "UUID Attribuut:",
"Username-LDAP User Mapping" => "Gebruikersnaam-LDAP gebruikers vertaling",
-"ownCloud uses usernames to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from ownCloud username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found by ownCloud. The internal ownCloud name is used all over in ownCloud. Clearing the Mappings will have leftovers everywhere. Clearing the Mappings is not configuration sensitive, it affects all LDAP configurations! Do never clear the mappings in a production environment. Only clear mappings in a testing or experimental stage." => "ownCloud maakt gebruik van gebruikersnamen om (meta) data op te slaan en toe te wijzen. Om gebruikers uniek te identificeren, zal elke LDAP-gebruiker ook een interne gebruikersnaam krijgen. Dit vereist een mapping van de ownCloud gebruikersnaam naar een LDAP-gebruiker. De gecreëerde gebruikersnaam is gekoppeld aan de UUID van de LDAP-gebruiker. Ook de 'DN' wordt gecached om het aantal LDAP transacties te verminderen, maar deze wordt niet gebruikt voor identificatie. Als de DN verandert, zullen de veranderingen worden gevonden door ownCloud. De interne ownCloud naam wordt overal in ownCloud gebruikt. Wissen van de koppeling zal overal overblijfsel laten staan. Het wissen van Mappings is niet configuratiegevoelig, maar het raakt wel alle LDAP instellingen! Zorg ervoor dat deze Mappings nooit in een productieomgeving plaatsvinden. Maak ze alleen leeg in een test-of ontwikkelomgeving.",
"Clear Username-LDAP User Mapping" => "Leegmaken Gebruikersnaam-LDAP gebruikers vertaling",
"Clear Groupname-LDAP Group Mapping" => "Leegmaken Groepsnaam-LDAP groep vertaling",
"Test Configuration" => "Test configuratie",
diff --git a/apps/user_ldap/l10n/pl.php b/apps/user_ldap/l10n/pl.php
index 5495ab994042601e6afab97101927c4aba4e5927..ad577457a2f3e49c55be0944cf535597a114f859 100644
--- a/apps/user_ldap/l10n/pl.php
+++ b/apps/user_ldap/l10n/pl.php
@@ -15,7 +15,6 @@
"Connection test failed" => "Test połączenia nie udany",
"Do you really want to delete the current Server Configuration?" => "Czy chcesz usunąć bieżącą konfigurację serwera?",
"Confirm Deletion" => "Potwierdź usunięcie",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Ostrzeżenie: Aplikacje user_ldap i user_webdavauth nie są kompatybilne. Mogą powodować nieoczekiwane zachowanie. Poproś administratora o wyłączenie jednej z nich.",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "Ostrzeżenie: Moduł PHP LDAP nie jest zainstalowany i nie będzie działał. Poproś administratora o włączenie go.",
"Server configuration" => "Konfiguracja servera",
"Add Server Configuration" => "Dodaj konfigurację servera",
@@ -45,24 +44,20 @@
"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "Dać opcjonalnie hosta kopii zapasowej . To musi być repliką głównego serwera LDAP/AD.",
"Backup (Replica) Port" => "Kopia zapasowa (repliki) Port",
"Disable Main Server" => "Wyłącz serwer główny",
-"When switched on, ownCloud will only connect to the replica server." => "Po włączeniu, ownCloud tylko połączy się z serwerem repliki.",
"Use TLS" => "Użyj TLS",
"Do not use it additionally for LDAPS connections, it will fail." => "Nie używaj go dodatkowo dla połączeń protokołu LDAPS, zakończy się niepowodzeniem.",
"Case insensitve LDAP server (Windows)" => "Wielkość liter serwera LDAP (Windows)",
"Turn off SSL certificate validation." => "Wyłączyć sprawdzanie poprawności certyfikatu SSL.",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Jeśli połączenie działa tylko z tą opcją, zaimportuj certyfikat SSL serwera LDAP w serwerze ownCloud.",
"Not recommended, use for testing only." => "Niezalecane, użyj tylko testowo.",
"Cache Time-To-Live" => "Przechowuj czas życia",
"in seconds. A change empties the cache." => "w sekundach. Zmiana opróżnia pamięć podręczną.",
"Directory Settings" => "Ustawienia katalogów",
"User Display Name Field" => "Pole wyświetlanej nazwy użytkownika",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "Atrybut LDAP służy do generowania nazwy użytkownika ownCloud.",
"Base User Tree" => "Drzewo bazy użytkowników",
"One User Base DN per line" => "Jeden użytkownik Bazy DN na linię",
"User Search Attributes" => "Szukaj atrybutów",
"Optional; one attribute per line" => "Opcjonalnie; jeden atrybut w wierszu",
"Group Display Name Field" => "Pole wyświetlanej nazwy grupy",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "Atrybut LDAP służy do generowania nazwy grup ownCloud.",
"Base Group Tree" => "Drzewo bazy grup",
"One Group Base DN per line" => "Jedna grupa bazy DN na linię",
"Group Search Attributes" => "Grupa atrybutów wyszukaj",
@@ -75,7 +70,6 @@
"User Home Folder Naming Rule" => "Reguły nazewnictwa folderu domowego użytkownika",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Pozostaw puste dla user name (domyślnie). W przeciwnym razie podaj atrybut LDAP/AD.",
"Internal Username" => "Wewnętrzna nazwa użytkownika",
-"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "Domyślnie, wewnętrzna nazwa użytkownika zostanie utworzona z atrybutu UUID, ang. Universally unique identifier - Unikalny identyfikator użytkownika. To daje pewność, że nazwa użytkownika jest niepowtarzalna a znaki nie muszą być konwertowane. Wewnętrzna nazwa użytkownika dopuszcza jedynie znaki: [ a-zA-Z0-9_.@- ]. Pozostałe znaki zamieniane są na ich odpowiedniki ASCII lub po prostu pomijane. W przypadku, gdy nazwa się powtarza na końcu dodawana / zwiększana jest cyfra. Wewnętrzna nazwa użytkownika służy do wewnętrznej identyfikacji użytkownika. Jest to również domyślna nazwa głównego folderu w ownCloud. Jest to również klucz zdalnego URL, na przykład dla wszystkich usług *DAV. Dzięki temu ustawieniu można modyfikować domyślne zachowania. Aby osiągnąć podobny efekt jak w ownCloud 5 wpisz atrybut nazwy użytkownika w poniższym polu. Pozostaw puste dla domyślnego zachowania. Zmiany będą miały wpływ tylko na nowo stworzonych (dodane) użytkowników LDAP.",
"Internal Username Attribute:" => "Wewnętrzny atrybut nazwy uzżytkownika:",
"Override UUID detection" => "Zastąp wykrywanie UUID",
"UUID Attribute:" => "Atrybuty UUID:",
diff --git a/apps/user_ldap/l10n/pt_BR.php b/apps/user_ldap/l10n/pt_BR.php
index 22247b81005b43eb620917c4b2f4186963285777..35284b24b7ab1061a4a6c607e9f495a235e87690 100644
--- a/apps/user_ldap/l10n/pt_BR.php
+++ b/apps/user_ldap/l10n/pt_BR.php
@@ -15,7 +15,7 @@
"Connection test failed" => "Teste de conexão falhou",
"Do you really want to delete the current Server Configuration?" => "Você quer realmente deletar as atuais Configurações de Servidor?",
"Confirm Deletion" => "Confirmar Exclusão",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Aviso: Os aplicativos user_ldap e user_webdavauth são incompatíveis. Você deverá experienciar comportamento inesperado. Por favor, peça ao seu administrador do sistema para desabilitar um deles.",
+"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." => "Aviso: Os aplicativos user_ldap e user_webdavauth são incompatíveis. Você pode experimentar comportamento inesperado. Por favor, peça ao seu administrador do sistema para desabilitar um deles.",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "Aviso: O módulo PHP LDAP não está instalado, o backend não funcionará. Por favor, peça ao seu administrador do sistema para instalá-lo.",
"Server configuration" => "Configuração de servidor",
"Add Server Configuration" => "Adicionar Configuração de Servidor",
@@ -45,24 +45,24 @@
"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "Defina um servidor de backup opcional. Ele deverá ser uma réplica do servidor LDAP/AD principal.",
"Backup (Replica) Port" => "Porta do Backup (Réplica)",
"Disable Main Server" => "Desativar Servidor Principal",
-"When switched on, ownCloud will only connect to the replica server." => "Quando ativado, ownCloud somente se conectará ao servidor de réplica.",
+"Only connect to the replica server." => "Conectar-se somente ao servidor de réplica.",
"Use TLS" => "Usar TLS",
"Do not use it additionally for LDAPS connections, it will fail." => "Não use adicionalmente para conexões LDAPS, pois falhará.",
"Case insensitve LDAP server (Windows)" => "Servidor LDAP sensível à caixa alta (Windows)",
"Turn off SSL certificate validation." => "Desligar validação de certificado SSL.",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Se a conexão só funciona com essa opção, importe o certificado SSL do servidor LDAP no seu servidor ownCloud.",
+"If connection only works with this option, import the LDAP server's SSL certificate in your %s server." => "Se a conexão só funciona com esta opção, importe o certificado SSL do servidor LDAP no seu servidor %s.",
"Not recommended, use for testing only." => "Não recomendado, use somente para testes.",
"Cache Time-To-Live" => "Cache Time-To-Live",
"in seconds. A change empties the cache." => "em segundos. Uma mudança esvaziará o cache.",
"Directory Settings" => "Configurações de Diretório",
"User Display Name Field" => "Campo Nome de Exibição de Usuário",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "O atributo LDAP para usar para gerar nome ownCloud do usuário.",
+"The LDAP attribute to use to generate the user's display name." => "O atributo LDAP para usar para gerar o nome de exibição do usuário.",
"Base User Tree" => "Árvore de Usuário Base",
"One User Base DN per line" => "Um usuário-base DN por linha",
"User Search Attributes" => "Atributos de Busca de Usuário",
"Optional; one attribute per line" => "Opcional; um atributo por linha",
"Group Display Name Field" => "Campo Nome de Exibição de Grupo",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "O atributo LDAP para usar para gerar nome ownCloud do grupo.",
+"The LDAP attribute to use to generate the groups's display name." => "O atributo LDAP para usar para gerar o nome de apresentação do grupo.",
"Base Group Tree" => "Árvore de Grupo Base",
"One Group Base DN per line" => "Um grupo-base DN por linha",
"Group Search Attributes" => "Atributos de Busca de Grupo",
@@ -75,13 +75,13 @@
"User Home Folder Naming Rule" => "Regra para Nome da Pasta Pessoal do Usuário",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Deixe vazio para nome de usuário (padrão). Caso contrário, especifique um atributo LDAP/AD.",
"Internal Username" => "Nome de usuário interno",
-"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "Por padrão, o nome de usuário interno será criado a partir do atributo UUID. Ele garante que o nome de usuário é única e personagens não precisam ser convertidos. O nome de usuário interno tem a restrição de que apenas estes caracteres são permitidos: [a-zA-Z0-9_ @ -.]. Outros caracteres são substituídas por seu correspondente ASCII ou simplesmente serão omitidos. Em colisões um número será adicionado/aumentado. O nome de utilizador interna é usada para identificar um utilizador internamente. É também o nome padrão para a pasta home do usuário em ownCloud. É também um porto de URLs remoto, por exemplo, para todos os serviços de *DAV. Com esta definição, o comportamento padrão pode ser anulado. Para conseguir um comportamento semelhante como antes ownCloud 5 entrar na tela atributo nome de usuário no campo seguinte. Deixe-o vazio para o comportamento padrão. As alterações terão efeito apenas no recém mapeados (adicionado) de usuários LDAP. ",
+"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. To achieve a similar behavior as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users." => "Por padrão, o nome de usuário interno será criado a partir do atributo UUID. Ele garante que o nome de usuário é único e que caracteres não precisam ser convertidos. O nome de usuário interno tem a restrição de que apenas estes caracteres são permitidos: [a-zA-Z0-9_.@- ]. Outros caracteres são substituídos por seus correspondentes em ASCII ou simplesmente serão omitidos. Em caso de colisão um número será adicionado/aumentado. O nome de usuário interno é usado para identificar um usuário internamente. É também o nome padrão da pasta \"home\" do usuário. É também parte de URLs remotas, por exemplo, para todos as instâncias *DAV. Com esta definição, o comportamento padrão pode ser sobrescrito. Para alcançar um comportamento semelhante ao de antes do ownCloud 5, forneça o atributo do nome de exibição do usuário no campo seguinte. Deixe-o vazio para o comportamento padrão. As alterações terão efeito apenas para usuários LDAP recém mapeados (adicionados).",
"Internal Username Attribute:" => "Atributo Interno de Nome de Usuário:",
"Override UUID detection" => "Substituir detecção UUID",
-"By default, ownCloud autodetects the UUID attribute. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users and groups." => "Por padrão, ownCloud detecta automaticamente o atributo UUID. O atributo UUID é usado para identificar, sem dúvida, os usuários e grupos LDAP. Além disso, o nome de usuário interno será criado com base no UUID, se não especificada acima. Você pode substituir a configuração e passar um atributo de sua escolha. Você deve certificar-se de que o atributo de sua escolha pode ser obtida tanto para usuários e grupos e é único. Deixe-o vazio para o comportamento padrão. As alterações terão efeito apenas no recém mapeados (adicionado) de usuários e grupos LDAP.",
+"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." => "Por padrão, o atributo UUID é detectado automaticamente. O atributo UUID é usado para identificar, sem dúvidas, os usuários e grupos LDAP. Além disso, o nome de usuário interno será criado com base no UUID, se não especificado acima. Você pode substituir a configuração e passar um atributo de sua escolha. Você deve certificar-se de que o atributo de sua escolha pode ser lido tanto para usuários como para grupos, e que seja único. Deixe-o vazio para o comportamento padrão. As alterações terão efeito apenas para usuários e grupos LDAP recém mapeados (adicionados).",
"UUID Attribute:" => "Atributo UUID:",
"Username-LDAP User Mapping" => "Usuário-LDAP Mapeamento de Usuário",
-"ownCloud uses usernames to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from ownCloud username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found by ownCloud. The internal ownCloud name is used all over in ownCloud. Clearing the Mappings will have leftovers everywhere. Clearing the Mappings is not configuration sensitive, it affects all LDAP configurations! Do never clear the mappings in a production environment. Only clear mappings in a testing or experimental stage." => "ownCloud usa nomes de usuários para armazenar e atribuir (meta) dados. A fim de identificar com precisão e reconhecer usuários, cada usuário LDAP terá um nome de usuário interno. Isso requer um mapeamento de ownCloud do nome de usuário para usuário LDAP. O nome de usuário criado é mapeado para o UUID do usuário LDAP. Além disso, o DN está em cache, assim como para reduzir a interação LDAP, mas que não é utilizado para a identificação. Se a DN muda, as mudanças serão encontradas pelo ownCloud. O nome ownCloud interno é utilizado em todo ownCloud. Limpando os mapeamentos terá sobras em todos os lugares. Limpeza dos mapeamentos não são sensíveis a configuração, isso afeta todas as configurações LDAP! Nunca limpar os mapeamentos em um ambiente de produção. Somente limpe os mapeamentos em uma fase de testes ou experimental.",
+"Usernames are used to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." => "Nomes de usuários sãi usados para armazenar e atribuir (meta) dados. A fim de identificar com precisão e reconhecer usuários, cada usuário LDAP terá um nome de usuário interno. Isso requer um mapeamento nome de usuário para usuário LDAP. O nome de usuário criado é mapeado para o UUID do usuário LDAP. Adicionalmente, o DN fica em cache, assim como para reduzir a interação LDAP, mas não é utilizado para a identificação. Se o DN muda, as mudanças serão encontradas. O nome de usuário interno é utilizado em todo lugar. Limpar os mapeamentos não influencia a configuração. Limpar os mapeamentos deixará rastros em todo lugar. Limpar os mapeamentos não influencia a configuração, mas afeta as configurações LDAP! Somente limpe os mapeamentos em embiente de testes ou em estágio experimental.",
"Clear Username-LDAP User Mapping" => "Limpar Mapeamento de Usuário Nome de Usuário-LDAP",
"Clear Groupname-LDAP Group Mapping" => "Limpar NomedoGrupo-LDAP Mapeamento do Grupo",
"Test Configuration" => "Teste de Configuração",
diff --git a/apps/user_ldap/l10n/pt_PT.php b/apps/user_ldap/l10n/pt_PT.php
index aca8c8e7709bcef70c178edf6a2d6602ab9afc9d..0e5eac91c3ec2a3055f68e2b4fcfbe84d61ed2a3 100644
--- a/apps/user_ldap/l10n/pt_PT.php
+++ b/apps/user_ldap/l10n/pt_PT.php
@@ -15,7 +15,6 @@
"Connection test failed" => "Erro no teste de conecção.",
"Do you really want to delete the current Server Configuration?" => "Deseja realmente apagar as configurações de servidor actuais?",
"Confirm Deletion" => "Confirmar a operação de apagar",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Aviso: A aplicação user_ldap e user_webdavauth são incompativeis. A aplicação pode tornar-se instável. Por favor, peça ao seu administrador para desactivar uma das aplicações.",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "Aviso: O módulo PHP LDAP não está instalado, logo não irá funcionar. Por favor peça ao administrador para o instalar.",
"Server configuration" => "Configurações do servidor",
"Add Server Configuration" => "Adicionar configurações do servidor",
@@ -45,24 +44,20 @@
"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "Forneça um servidor (anfitrião) de backup. Deve ser uma réplica do servidor principal de LDAP/AD ",
"Backup (Replica) Port" => "Porta do servidor de backup (Replica)",
"Disable Main Server" => "Desactivar servidor principal",
-"When switched on, ownCloud will only connect to the replica server." => "Se estiver ligado, o ownCloud vai somente ligar-se a este servidor de réplicas.",
"Use TLS" => "Usar TLS",
"Do not use it additionally for LDAPS connections, it will fail." => "Não utilize para adicionar ligações LDAP, irá falhar!",
"Case insensitve LDAP server (Windows)" => "Servidor LDAP (Windows) não sensível a maiúsculas.",
"Turn off SSL certificate validation." => "Desligar a validação de certificado SSL.",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Se a ligação apenas funcionar com está opção, importe o certificado SSL do servidor LDAP para o seu servidor do ownCloud.",
"Not recommended, use for testing only." => "Não recomendado, utilizado apenas para testes!",
"Cache Time-To-Live" => "Cache do tempo de vida dos objetos no servidor",
"in seconds. A change empties the cache." => "em segundos. Uma alteração esvazia a cache.",
"Directory Settings" => "Definições de directorias",
"User Display Name Field" => "Mostrador do nome de utilizador.",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "Atributo LDAP para gerar o nome de utilizador do ownCloud.",
"Base User Tree" => "Base da árvore de utilizadores.",
"One User Base DN per line" => "Uma base de utilizador DN por linha",
"User Search Attributes" => "Utilizar atributos de pesquisa",
"Optional; one attribute per line" => "Opcional; Um atributo por linha",
"Group Display Name Field" => "Mostrador do nome do grupo.",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "Atributo LDAP para gerar o nome do grupo do ownCloud.",
"Base Group Tree" => "Base da árvore de grupos.",
"One Group Base DN per line" => "Uma base de grupo DN por linha",
"Group Search Attributes" => "Atributos de pesquisa de grupo",
@@ -75,13 +70,10 @@
"User Home Folder Naming Rule" => "Regra da pasta inicial do utilizador",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Deixe vazio para nome de utilizador (padrão). De outro modo, especifique um atributo LDAP/AD.",
"Internal Username" => "Nome de utilizador interno",
-"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "Por padrão o nome de utilizador interno vai ser criado através do atributo UUID. Desta forma é assegurado que o nome é único e os caracteres nao necessitam de serem convertidos. O nome interno tem a restrição de que apenas estes caracteres são permitidos: [ a-zA-Z0-9_.@- ]. Outros caracteres são substituidos pela sua correspondência ASCII ou simplesmente omitidos. Mesmo assim, quando for detetado uma colisão irá ser acrescentado um número. O nome interno é usado para identificar o utilizador internamente. É também o nome utilizado para a pasta inicial no ownCloud. É também parte de URLs remotos, como por exemplo os serviços *DAV. Com esta definição, o comportamento padrão é pode ser sobreposto. Para obter o mesmo comportamento antes do ownCloud 5 introduza o atributo do nome no campo seguinte. Deixe vazio para obter o comportamento padrão. As alterações apenas serão feitas para novos utilizadores LDAP.",
"Internal Username Attribute:" => "Atributo do nome de utilizador interno",
"Override UUID detection" => "Passar a detecção do UUID",
-"By default, ownCloud autodetects the UUID attribute. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users and groups." => "Por defeito, o ownCloud deteta automaticamente o atributo UUID. Este atributo é usado para identificar inequivocamente grupos e utilizadores LDAP. Igualmente, o nome de utilizador interno é criado com base no UUID, se o contrário não for especificado. Pode sobrepor esta definição colocando um atributo à sua escolha. Tenha em atenção que esse atributo deve ser válido tanto para grupos como para utilizadores, e que é único. Deixe em branco para optar pelo comportamento por defeito. Estas alteração apenas terão efeito em novos utilizadores e grupos mapeados (adicionados).",
"UUID Attribute:" => "Atributo UUID:",
"Username-LDAP User Mapping" => "Mapeamento do utilizador LDAP",
-"ownCloud uses usernames to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from ownCloud username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found by ownCloud. The internal ownCloud name is used all over in ownCloud. Clearing the Mappings will have leftovers everywhere. Clearing the Mappings is not configuration sensitive, it affects all LDAP configurations! Do never clear the mappings in a production environment. Only clear mappings in a testing or experimental stage." => "O ownCloud usa nomes de utilizadores para guardar e atribuir (meta) dados. Para identificar com precisão os utilizadores, cada utilizador de LDAP tem um nome de utilizador interno. Isto requer um mapeamento entre o utilizador LDAP e o utilizador ownCloud. Adicionalmente, o DN é colocado em cache para reduzir a interação com LDAP, porém não é usado para identificação. Se o DN muda, essas alterações serão vistas pelo ownCloud. O nome interno do ownCloud é usado em todo o lado, no ownCloud. Limpar os mapeamentos deixará vestígios em todo o lado. A limpeza dos mapeamentos não é sensível à configuração, pois afeta todas as configurações de LDAP! Nunca limpe os mapeamentos num ambiente de produção, apenas o faça numa fase de testes ou experimental.",
"Clear Username-LDAP User Mapping" => "Limpar mapeamento do utilizador-LDAP",
"Clear Groupname-LDAP Group Mapping" => "Limpar o mapeamento do nome de grupo LDAP",
"Test Configuration" => "Testar a configuração",
diff --git a/apps/user_ldap/l10n/ro.php b/apps/user_ldap/l10n/ro.php
index 260ee610639b4b0066d0f5f6d76abd803763108a..2e03ddcca426ed5d68e7b2a7a72fff1f6234ad13 100644
--- a/apps/user_ldap/l10n/ro.php
+++ b/apps/user_ldap/l10n/ro.php
@@ -2,7 +2,6 @@
"Deletion failed" => "Ștergerea a eșuat",
"Success" => "Succes",
"Error" => "Eroare",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Atentie: Apps user_ldap si user_webdavauth sunt incompatibile. Este posibil sa experimentati un comportament neasteptat. Vă rugăm să întrebați administratorul de sistem pentru a dezactiva una dintre ele.",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "Atenție Modulul PHP LDAP nu este instalat, infrastructura nu va funcționa. Contactează administratorul sistemului pentru al instala.",
"Host" => "Gazdă",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Puteți omite protocolul, decât dacă folosiți SSL. Atunci se începe cu ldaps://",
@@ -26,15 +25,12 @@
"Use TLS" => "Utilizează TLS",
"Case insensitve LDAP server (Windows)" => "Server LDAP insensibil la majuscule (Windows)",
"Turn off SSL certificate validation." => "Oprește validarea certificatelor SSL ",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Dacă conexiunea lucrează doar cu această opțiune, importează certificatul SSL al serverului LDAP în serverul ownCloud.",
"Not recommended, use for testing only." => "Nu este recomandat, a se utiliza doar pentru testare.",
"in seconds. A change empties the cache." => "în secunde. O schimbare curăță memoria tampon.",
"User Display Name Field" => "Câmpul cu numele vizibil al utilizatorului",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "Atributul LDAP folosit pentru a genera numele de utilizator din ownCloud.",
"Base User Tree" => "Arborele de bază al Utilizatorilor",
"One User Base DN per line" => "Un User Base DN pe linie",
"Group Display Name Field" => "Câmpul cu numele grupului",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "Atributul LDAP folosit pentru a genera numele grupurilor din ownCloud",
"Base Group Tree" => "Arborele de bază al Grupurilor",
"One Group Base DN per line" => "Un Group Base DN pe linie",
"Group-Member association" => "Asocierea Grup-Membru",
diff --git a/apps/user_ldap/l10n/ru.php b/apps/user_ldap/l10n/ru.php
index d88b20dc46912ff228c30c8485211d3e2974f90e..704d8149904d0953cd7715338a9a95987b768133 100644
--- a/apps/user_ldap/l10n/ru.php
+++ b/apps/user_ldap/l10n/ru.php
@@ -15,7 +15,7 @@
"Connection test failed" => "Проверка соединения не удалась",
"Do you really want to delete the current Server Configuration?" => "Вы действительно хотите удалить существующую конфигурацию сервера?",
"Confirm Deletion" => "Подтверждение удаления",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Внимание:Приложения user_ldap и user_webdavauth несовместимы. Вы можете столкнуться с неожиданным поведением. Пожалуйста, обратитесь к системному администратору, чтобы отключить одно из них.",
+"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." => "Предупреждение: Приложения user_ldap и user_webdavauth не совместимы. Вы можете наблюдать некорректное поведение. Пожалуйста попросите Вашего системного администратора отключить одно из них.",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "Внимание: Модуль LDAP для PHP не установлен, бэкенд не будет работать. Пожалуйста, попросите вашего системного администратора его установить. ",
"Server configuration" => "Конфигурация сервера",
"Add Server Configuration" => "Добавить конфигурацию сервера",
@@ -45,24 +45,20 @@
"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "Укажите дополнительный резервный сервер. Он должен быть репликой главного LDAP/AD сервера.",
"Backup (Replica) Port" => "Порт резервного сервера",
"Disable Main Server" => "Отключение главного сервера",
-"When switched on, ownCloud will only connect to the replica server." => "Когда включено, ownCloud будет соединяться только с резервным сервером.",
"Use TLS" => "Использовать TLS",
"Do not use it additionally for LDAPS connections, it will fail." => "Не используйте совместно с безопасными подключениями (LDAPS), это не сработает.",
"Case insensitve LDAP server (Windows)" => "Нечувствительный к регистру сервер LDAP (Windows)",
"Turn off SSL certificate validation." => "Отключить проверку сертификата SSL.",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Если соединение работает только с этой опцией, импортируйте на ваш сервер ownCloud сертификат SSL сервера LDAP.",
"Not recommended, use for testing only." => "Не рекомендуется, используйте только для тестирования.",
"Cache Time-To-Live" => "Кэш времени жизни",
"in seconds. A change empties the cache." => "в секундах. Изменение очистит кэш.",
"Directory Settings" => "Настройки каталога",
"User Display Name Field" => "Поле отображаемого имени пользователя",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "Атрибут LDAP для генерации имени пользователя ownCloud.",
"Base User Tree" => "База пользовательского дерева",
"One User Base DN per line" => "По одной базовому DN пользователей в строке.",
"User Search Attributes" => "Поисковые атрибуты пользователя",
"Optional; one attribute per line" => "Опционально; один атрибут на линию",
"Group Display Name Field" => "Поле отображаемого имени группы",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "Атрибут LDAP для генерации имени группы ownCloud.",
"Base Group Tree" => "База группового дерева",
"One Group Base DN per line" => "По одной базовому DN групп в строке.",
"Group Search Attributes" => "Атрибуты поиска для группы",
@@ -75,13 +71,10 @@
"User Home Folder Naming Rule" => "Правило именования Домашней Папки Пользователя",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Оставьте имя пользователя пустым (по умолчанию). Иначе укажите атрибут LDAP/AD.",
"Internal Username" => "Внутреннее имя пользователя",
-"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "По-умолчанию внутреннее имя пользователя будет создано из атрибута UUID. Это необходимо для того, чтобы имя пользователя было уникальным и не содержало в себе запрещенных символов. Внутреннее имя пользователя может состоять только из следующих символов: [ a-zA-Z0-9_.@- ]. Остальные символы замещаются соответствиями из таблицы ASCII или же просто пропускаются. При совпадении к имени будет добавлено число. Внутреннее имя пользователя используется для внутренней идентификации пользователя. Также оно является именем по-умолчанию для папки пользователя в ownCloud. Оно также портом для удаленных ссылок, к примеру, для всех сервисов *DAV. С помощию данной настройки можно изменить поведение по-умолчанию. Чтобы достичь поведения, как было настроено до изменения, ownCloud 5 выводит атрибут имени пользователя в этом поле. Оставьте его пустым для режима по-умолчанию. Изменения будут иметь эффект только для новых подключенных (добавленных) пользователей LDAP.",
"Internal Username Attribute:" => "Аттрибут для внутреннего имени:",
"Override UUID detection" => "Переопределить нахождение UUID",
-"By default, ownCloud autodetects the UUID attribute. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users and groups." => "По-умолчанию, ownCloud определяет атрибут UUID автоматически. Этот атрибут используется для того, чтобы достоверно индентифицировать пользователей и группы LDAP. Также, на основании атрибута UUID создается внутреннее имя пользователя, если выше не указано иначе. Вы можете переопределить эту настройку и указать свой атрибут по выбору. Вы должны удостовериться, что выбранный вами атрибут может быть выбран для пользователей и групп, а также то, что он уникальный. Оставьте поле пустым для поведения по-умолчанию. Изменения вступят в силу только для новых подключенных (добавленных) пользователей и групп LDAP.",
"UUID Attribute:" => "Аттрибут для UUID:",
"Username-LDAP User Mapping" => "Соответствия Имя-Пользователь LDAP",
-"ownCloud uses usernames to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from ownCloud username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found by ownCloud. The internal ownCloud name is used all over in ownCloud. Clearing the Mappings will have leftovers everywhere. Clearing the Mappings is not configuration sensitive, it affects all LDAP configurations! Do never clear the mappings in a production environment. Only clear mappings in a testing or experimental stage." => "ownCloud использует имена пользователей для хранения и назначения метаданных. Для точной идентификации и распознавания пользователей, каждый пользователь LDAP будет иметь свое внутреннее имя пользователя. Это требует наличия соответствия имени пользователя ownCloud к пользователю LDAP. При создании имя пользователя назначается идентификатору UUID пользователя LDAP. Помимо этого кэшируется доменное имя (DN) для снижения взаимодействия LDAP, однако оно не используется для идентификации. Если доменное имя было изменено, об этом станет известно ownCloud. Внутреннее имя ownCloud используется повсеместно в ownCloud. При очистке соответствий повсюду будут оставаться \"хвосты\". Очистка соответствий не привязана к конкретной конфигурации, она влияет на все конфигурации LDAP! Никогда не очищайте соответствия в рабочем окружении. Очищайте соответствия только во время тестов или в экспериментальных конфигурациях.",
"Clear Username-LDAP User Mapping" => "Очистить соответствия Имя-Пользователь LDAP",
"Clear Groupname-LDAP Group Mapping" => "Очистить соответствия Группа-Группа LDAP",
"Test Configuration" => "Тестовая конфигурация",
diff --git a/apps/user_ldap/l10n/sk_SK.php b/apps/user_ldap/l10n/sk_SK.php
index fe1e14ea6fd80de1eb33be91a4992d7aa5e608d5..6c0f10f89101580de6d701f4b7d3e7cce9bfdaf3 100644
--- a/apps/user_ldap/l10n/sk_SK.php
+++ b/apps/user_ldap/l10n/sk_SK.php
@@ -15,7 +15,6 @@
"Connection test failed" => "Test pripojenia zlyhal",
"Do you really want to delete the current Server Configuration?" => "Naozaj chcete zmazať súčasné nastavenie servera?",
"Confirm Deletion" => "Potvrdiť vymazanie",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Upozornenie: Aplikácie user_ldap a user_webdavauth nie sú kompatibilné. Môže nastávať neočakávané správanie. Požiadajte administrátora systému aby jednu z nich zakázal.",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "Upozornenie: nie je nainštalovaný LDAP modul pre PHP, backend vrstva nebude fungovať. Požádejte administrátora systému aby ho nainštaloval.",
"Server configuration" => "Nastavenia servera",
"Add Server Configuration" => "Pridať nastavenia servera.",
@@ -45,24 +44,20 @@
"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "Zadajte záložný LDAP/AD. Musí to byť kópia hlavného LDAP/AD servera.",
"Backup (Replica) Port" => "Záložný server (kópia) port",
"Disable Main Server" => "Zakázať hlavný server",
-"When switched on, ownCloud will only connect to the replica server." => "Pri zapnutí sa ownCloud pripojí len k záložnému serveru.",
"Use TLS" => "Použi TLS",
"Do not use it additionally for LDAPS connections, it will fail." => "Nepoužívajte pre pripojenie LDAPS, zlyhá.",
"Case insensitve LDAP server (Windows)" => "LDAP server nerozlišuje veľkosť znakov (Windows)",
"Turn off SSL certificate validation." => "Vypnúť overovanie SSL certifikátu.",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Ak pripojenie pracuje len s touto možnosťou, tak importujte SSL certifikát LDAP serveru do vášho servera ownCloud.",
"Not recommended, use for testing only." => "Nie je doporučované, len pre testovacie účely.",
"Cache Time-To-Live" => "Životnosť objektov v cache",
"in seconds. A change empties the cache." => "v sekundách. Zmena vyprázdni vyrovnávaciu pamäť.",
"Directory Settings" => "Nastavenie priečinka",
"User Display Name Field" => "Pole pre zobrazenia mena používateľa",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "Atribút LDAP použitý na vygenerovanie mena používateľa ownCloud ",
"Base User Tree" => "Základný používateľský strom",
"One User Base DN per line" => "Jedna používateľská základná DN na riadok",
"User Search Attributes" => "Atribúty vyhľadávania používateľov",
"Optional; one attribute per line" => "Voliteľné, jeden atribút na jeden riadok",
"Group Display Name Field" => "Pole pre zobrazenie mena skupiny",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "Atribút LDAP použitý na vygenerovanie mena skupiny ownCloud ",
"Base Group Tree" => "Základný skupinový strom",
"One Group Base DN per line" => "Jedna skupinová základná DN na riadok",
"Group Search Attributes" => "Atribúty vyhľadávania skupín",
@@ -75,7 +70,6 @@
"User Home Folder Naming Rule" => "Pravidlo pre nastavenie mena používateľského priečinka dát",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Nechajte prázdne pre používateľské meno (predvolené). Inak uveďte atribút LDAP/AD.",
"Internal Username" => "Interné používateľské meno",
-"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "V predvolenom nastavení bude interné používateľské meno vytvorené z UUID atribútu. Zabezpečí sa to, že používateľské meno bude jedinečné a znaky nemusia byť prevedené. Interné meno má obmedzenie, iba tieto znaky sú povolené: [a-zA-Z0-9_ @ -.]. Ostatné znaky sú nahradené ich ASCII alebo jednoducho vynechané. Pri kolíziách bude číslo byť pridané / odobrané. Interné používateľské meno sa používa na identifikáciu používateľa interne. Je to tiež predvolený názov používateľského domovského priečinka v ownCloud. To je tiež port vzdialeného URL, napríklad pre všetky služby * DAV. S týmto nastavením sa dá prepísať predvolené správanie. Pre dosiahnutie podobného správania sa ako pred ownCloud 5 zadajte atribút zobrazenia používateľského mena v tomto poli. Ponechajte prázdne pre predvolené správanie. Zmeny budú mať vplyv iba na novo mapovaných (pridaných) LDAP používateľov.",
"Internal Username Attribute:" => "Atribút interného používateľského mena:",
"Override UUID detection" => "Prepísať UUID detekciu",
"UUID Attribute:" => "UUID atribút:",
diff --git a/apps/user_ldap/l10n/sl.php b/apps/user_ldap/l10n/sl.php
index aeca97038e8d455ab5759ae55728d32be4caaf74..63200df0e9c740d1cf2308b8f9bc9bd751e832b6 100644
--- a/apps/user_ldap/l10n/sl.php
+++ b/apps/user_ldap/l10n/sl.php
@@ -15,7 +15,6 @@
"Connection test failed" => "Preizkus povezave je spodletel.",
"Do you really want to delete the current Server Configuration?" => "Ali res želite izbrisati trenutne nastavitve strežnika?",
"Confirm Deletion" => "Potrdi brisanje",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Opozorilo: možnosti user_ldap in user_webdavauth nista združljivi. Pri uporabi je mogoče nepričakovano obnašanje sistema. Eno izmed možnosti je priporočeno onemgočiti.",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "Opozorilo: modul PHP LDAP mora biti nameščen, sicer vmesnik ne bo deloval. Paket je treba namestiti.",
"Server configuration" => "Nastavitev strežnika",
"Add Server Configuration" => "Dodaj nastavitve strežnika",
@@ -45,24 +44,20 @@
"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "Podati je treba izbirno varnostno kopijo gostitelja. Ta mora biti natančna replika strežnika LDAP/AD.",
"Backup (Replica) Port" => "Varnostna kopija (replika) podatka vrat",
"Disable Main Server" => "Onemogoči glavni strežnik",
-"When switched on, ownCloud will only connect to the replica server." => "Ob priklopu bo strežnik ownCloud povezan le s kopijo (repliko) strežnika.",
"Use TLS" => "Uporabi TLS",
"Do not use it additionally for LDAPS connections, it will fail." => "Strežnika ni priporočljivo uporabljati za povezave LDAPS. Povezava bo spodletela.",
"Case insensitve LDAP server (Windows)" => "Strežnik LDAP ne upošteva velikosti črk (Windows)",
"Turn off SSL certificate validation." => "Onemogoči določanje veljavnosti potrdila SSL.",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Kadar deluje povezava le s to možnostjo, uvozite potrdilo SSL iz strežnika LDAP na vaš strežnik ownCloud.",
"Not recommended, use for testing only." => "Dejanje ni priporočeno; uporabljeno naj bo le za preizkušanje delovanja.",
"Cache Time-To-Live" => "Predpomni podatke TTL",
"in seconds. A change empties the cache." => "v sekundah. Sprememba izprazni predpomnilnik.",
"Directory Settings" => "Nastavitve mape",
"User Display Name Field" => "Polje za uporabnikovo prikazano ime",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "Atribut LDAP, uporabljen pri ustvarjanju uporabniških imen ownCloud.",
"Base User Tree" => "Osnovno uporabniško drevo",
"One User Base DN per line" => "Eno osnovno uporabniško ime DN na vrstico",
"User Search Attributes" => "Uporabi atribute iskanja",
"Optional; one attribute per line" => "Izbirno; en atribut na vrstico",
"Group Display Name Field" => "Polje za prikazano ime skupine",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "Atribut LDAP, uporabljen pri ustvarjanju imen skupin ownCloud.",
"Base Group Tree" => "Osnovno drevo skupine",
"One Group Base DN per line" => "Eno osnovno ime skupine DN na vrstico",
"Group Search Attributes" => "Atributi iskanja skupine",
@@ -75,13 +70,10 @@
"User Home Folder Naming Rule" => "Pravila poimenovanja uporabniške osebne mape",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Pustite prazno za uporabniško ime (privzeto), sicer navedite atribut LDAP/AD.",
"Internal Username" => "Interno uporabniško ime",
-"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "Po privzetih nastavitvah bo uporabniško ime nastavljeno na podlagi atributa UUID. Ta zagotovi, da je uporabniško ime unikatno in, da znakov ni potrebno pretvarjati. Interno uporabniško ime ima omejitev v uporabi znakov, in sicer so dovoljeni le znaki [ a-zA-Z0-9_.@- ]. Ostali znaki so nadomeščeni z njihovimi ustreznicami v ASCII ali so enostavno prezrti. Pri prekrivanju znakov bo dodana številka. Interno uporabniško ime je v uporabi za interno identifikacijo uporabnika. Je tudi privzeto ime za uporabnikovo domačo mapo v ownCloudu. Predstavlja tudi vrata za oddaljene internetne naslove, na primer za vse storitve *DAV. S to nastavitvijo se privzete nastavitve ne bodo upoštevale. Če boste želeli doseči isto obnašanje kot pri različicah ownClouda 5, vnesite atribut za Ime za prikaz v spodnje polje. Če boste polje pustili prazno, bo uporabljena privzeta vrednost. Spremembe bodo vplivale samo na novo dodane LDAP-uporabnike.",
"Internal Username Attribute:" => "Atribut Interno uporabniško ime",
"Override UUID detection" => "Prezri zaznavo UUID",
-"By default, ownCloud autodetects the UUID attribute. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users and groups." => "Po privzetih nastavitvah ownCloud sam zazna atribute UUID. Atribut UUID je uporabljen za identifikacijo LDAP-uporabnikov in skupin. Na podlagi atributa UUID se ustvari tudi interno uporabniško ime, če ne navedete drugačnih nastavitev sami. Nastavitev lahko povozite in izberete nastavitev po vaši izbiri. Potrebno je zagotoviti, da je izbran atribut lahko uporabljen tako za kreiranje uporabnikov kot skupin in je unikaten. Pustite praznega, če želite, da sistem uporabi privzete nastavitve. Spremembe bodo uporabljene šele pri novo preslikanih ali dodanih LDAP-uporabnikih in skupinah.",
"UUID Attribute:" => "Atribut UUID",
"Username-LDAP User Mapping" => "Preslikava uporabniško ime - LDAP-uporabnik",
-"ownCloud uses usernames to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from ownCloud username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found by ownCloud. The internal ownCloud name is used all over in ownCloud. Clearing the Mappings will have leftovers everywhere. Clearing the Mappings is not configuration sensitive, it affects all LDAP configurations! Do never clear the mappings in a production environment. Only clear mappings in a testing or experimental stage." => "ownCloud uporablja uporabniška imena za shranjevanje in določanje metapodatkov. Za natančno identifikacijo in prepoznavo uporabnikov, ima vsak LDAP-uporabnik svoje interno uporabniško ime. To zahteva preslikavo iz uporabniškega imena v ownCloudu v LDAP-uporabnika. Ustvarjeno uporabniško ime je preslikano v UUID LDAP-uporabnika. Hkrati je v predpomnilnik shranjen DN uporabnika, zato da se zmanjšajo povezave z LDAP-om, ni pa uporabljen za identifikacijo uporabnikov. Če se DN spremeni, bo ownCloud sam našel te spremembe. Interno ime v ownCloudu je uporabljeno v celotnem sistemu. Brisanje preslikav bo pustilo posledice povsod. Brisanje preslikav je zato problematično za konfiguracijo, vpliva na celotno LDAP-konfiguracijo. Nikoli ne brišite preslikav na produkcijskem okolju. Preslikave brišite samo v fazi preizkušanja storitve.",
"Clear Username-LDAP User Mapping" => "Izbriši preslikavo Uporabniškega imena in LDAP-uporabnika",
"Clear Groupname-LDAP Group Mapping" => "Izbriši preslikavo Skupine in LDAP-skupine",
"Test Configuration" => "Preizkusne nastavitve",
diff --git a/apps/user_ldap/l10n/sr.php b/apps/user_ldap/l10n/sr.php
index b94bc83e1e477166237a64ae530da8eec4491de7..5c066e675e46eacd22b98c15ae612cc6f7846034 100644
--- a/apps/user_ldap/l10n/sr.php
+++ b/apps/user_ldap/l10n/sr.php
@@ -21,14 +21,11 @@
"Use TLS" => "Користи TLS",
"Case insensitve LDAP server (Windows)" => "LDAP сервер осетљив на велика и мала слова (Windows)",
"Turn off SSL certificate validation." => "Искључите потврду SSL сертификата.",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Увезите SSL сертификат LDAP сервера у свој ownCloud ако веза ради само са овом опцијом.",
"Not recommended, use for testing only." => "Не препоручује се; користите само за тестирање.",
"in seconds. A change empties the cache." => "у секундама. Промена испражњава кеш меморију.",
"User Display Name Field" => "Име приказа корисника",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "LDAP атрибут за стварање имена ownCloud-а корисника.",
"Base User Tree" => "Основно стабло корисника",
"Group Display Name Field" => "Име приказа групе",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "LDAP атрибут за стварање имена ownCloud-а групе.",
"Base Group Tree" => "Основна стабло група",
"Group-Member association" => "Придруживање чланова у групу",
"in bytes" => "у бајтовима",
diff --git a/apps/user_ldap/l10n/sv.php b/apps/user_ldap/l10n/sv.php
index 6ab8a9e5a6eaedfc5d0a6b37133cd5b76eebdbaa..60bfd7829edb799dc7852b32ce5893b455971081 100644
--- a/apps/user_ldap/l10n/sv.php
+++ b/apps/user_ldap/l10n/sv.php
@@ -15,7 +15,6 @@
"Connection test failed" => "Anslutningstestet misslyckades",
"Do you really want to delete the current Server Configuration?" => "Vill du verkligen radera den nuvarande serverinställningen?",
"Confirm Deletion" => "Bekräfta radering",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Varning: Apps user_ldap och user_webdavauth är inkompatibla. Oväntade problem kan uppstå. Be din systemadministratör att inaktivera en av dom.",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "Varning: PHP LDAP - modulen är inte installerad, serversidan kommer inte att fungera. Kontakta din systemadministratör för installation.",
"Server configuration" => "Serverinställning",
"Add Server Configuration" => "Lägg till serverinställning",
@@ -45,24 +44,20 @@
"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "Ange en valfri värd för säkerhetskopiering. Den måste vara en replika av den huvudsakliga LDAP/AD-servern",
"Backup (Replica) Port" => "Säkerhetskopierins-port (Replika)",
"Disable Main Server" => "Inaktivera huvudserver",
-"When switched on, ownCloud will only connect to the replica server." => "När denna är påkopplad kommer ownCloud att koppla upp till replika-servern, endast.",
"Use TLS" => "Använd TLS",
"Do not use it additionally for LDAPS connections, it will fail." => "Använd inte för LDAPS-anslutningar, det kommer inte att fungera.",
"Case insensitve LDAP server (Windows)" => "LDAP-servern är okänslig för gemener och versaler (Windows)",
"Turn off SSL certificate validation." => "Stäng av verifiering av SSL-certifikat.",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Om anslutningen bara fungerar med det här alternativet, importera LDAP-serverns SSL-certifikat i din ownCloud-server.",
"Not recommended, use for testing only." => "Rekommenderas inte, använd bara för test. ",
"Cache Time-To-Live" => "Cache Time-To-Live",
"in seconds. A change empties the cache." => "i sekunder. En förändring tömmer cache.",
"Directory Settings" => "Mappinställningar",
"User Display Name Field" => "Attribut för användarnamn",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "Attribut som används för att generera användarnamn i ownCloud.",
"Base User Tree" => "Bas för användare i katalogtjänst",
"One User Base DN per line" => "En Användare start DN per rad",
"User Search Attributes" => "Användarsökningsattribut",
"Optional; one attribute per line" => "Valfritt; ett attribut per rad",
"Group Display Name Field" => "Attribut för gruppnamn",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "Attribut som används för att generera gruppnamn i ownCloud.",
"Base Group Tree" => "Bas för grupper i katalogtjänst",
"One Group Base DN per line" => "En Grupp start DN per rad",
"Group Search Attributes" => "Gruppsökningsattribut",
@@ -75,13 +70,10 @@
"User Home Folder Naming Rule" => "Namnregel för hemkatalog",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Lämnas tomt för användarnamn (standard). Ange annars ett LDAP/AD-attribut.",
"Internal Username" => "Internt Användarnamn",
-"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "Som standard skapas det interna användarnamnet från UUID-attributet. Det säkerställer att användarnamnet är unikt och tecken inte behöver konverteras. Det interna användarnamnet har restriktionerna att endast följande tecken är tillåtna: [ a-zA-Z0-9_.@- ]. Andra tecken blir ersatta av deras motsvarighet i ASCII eller utelämnas helt. En siffra kommer att läggas till eller ökas på vid en kollision. Det interna användarnamnet används för att identifiera användaren internt. Det är även förvalt som användarens användarnamn i ownCloud. Det är även en port för fjärråtkomst, t.ex. för alla *DAV-tjänster. Med denna inställning kan det förvalda beteendet åsidosättas. För att uppnå ett liknande beteende som innan ownCloud 5, ange attributet för användarens visningsnamn i detta fält. Lämna det tomt för förvalt beteende. Ändringarna kommer endast att påverka nyligen mappade (tillagda) LDAP-användare",
"Internal Username Attribute:" => "Internt Användarnamn Attribut:",
"Override UUID detection" => "Åsidosätt UUID detektion",
-"By default, ownCloud autodetects the UUID attribute. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users and groups." => "Som standard upptäcker ownCloud automatiskt UUID-attributet. Det UUID-attributet används för att utan tvivel identifiera LDAP-användare och grupper. Dessutom kommer interna användarnamn skapas baserat på detta UUID, om inte annat anges ovan. Du kan åsidosätta inställningen och passera ett attribut som du själv väljer. Du måste se till att attributet som du väljer kan hämtas för både användare och grupper och att det är unikt. Lämna det tomt för standard beteende. Förändringar kommer endast att påverka nyligen mappade (tillagda) LDAP-användare och grupper.",
"UUID Attribute:" => "UUID Attribut:",
"Username-LDAP User Mapping" => "Användarnamn-LDAP User Mapping",
-"ownCloud uses usernames to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from ownCloud username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found by ownCloud. The internal ownCloud name is used all over in ownCloud. Clearing the Mappings will have leftovers everywhere. Clearing the Mappings is not configuration sensitive, it affects all LDAP configurations! Do never clear the mappings in a production environment. Only clear mappings in a testing or experimental stage." => "ownCloud använder sig av användarnamn för att lagra och tilldela (meta) data. För att exakt kunna identifiera och känna igen användare, kommer varje LDAP-användare ha ett internt användarnamn. Detta kräver en mappning från ownCloud-användarnamn till LDAP-användare. Det skapade användarnamnet mappas till UUID för LDAP-användaren. Dessutom cachas DN samt minska LDAP-interaktionen, men den används inte för identifiering. Om DN förändras, kommer förändringarna hittas av ownCloud. Det interna ownCloud-namnet används överallt i ownCloud. Om du rensar/raderar mappningarna kommer att lämna referenser överallt i systemet. Men den är inte konfigurationskänslig, den påverkar alla LDAP-konfigurationer! Rensa/radera aldrig mappningarna i en produktionsmiljö. Utan gör detta endast på i testmiljö!",
"Clear Username-LDAP User Mapping" => "Rensa Användarnamn-LDAP User Mapping",
"Clear Groupname-LDAP Group Mapping" => "Rensa Gruppnamn-LDAP Group Mapping",
"Test Configuration" => "Testa konfigurationen",
diff --git a/apps/user_ldap/l10n/ta_LK.php b/apps/user_ldap/l10n/ta_LK.php
index 997f09ca8776bb98ad62959ef6df024f749a1dd8..0eed8ca12b5d1c40f35096356005ec1738593660 100644
--- a/apps/user_ldap/l10n/ta_LK.php
+++ b/apps/user_ldap/l10n/ta_LK.php
@@ -12,14 +12,11 @@
"Use TLS" => "TLS ஐ பயன்படுத்தவும்",
"Case insensitve LDAP server (Windows)" => "உணர்ச்சியான LDAP சேவையகம் (சாளரங்கள்)",
"Turn off SSL certificate validation." => "SSL சான்றிதழின் செல்லுபடியை நிறுத்திவிடவும்",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "இந்த தெரிவுகளில் மட்டும் இணைப்பு வேலைசெய்தால், உங்களுடைய owncloud சேவையகத்திலிருந்து LDAP சேவையகத்தின் SSL சான்றிதழை இறக்குமதி செய்யவும்",
"Not recommended, use for testing only." => "பரிந்துரைக்கப்படவில்லை, சோதனைக்காக மட்டும் பயன்படுத்தவும்.",
"in seconds. A change empties the cache." => "செக்கன்களில். ஒரு மாற்றம் இடைமாற்றுநினைவகத்தை வெற்றிடமாக்கும்.",
"User Display Name Field" => "பயனாளர் காட்சிப்பெயர் புலம்",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "பயனாளரின் ownCloud பெயரை உருவாக்க LDAP பண்புக்கூறை பயன்படுத்தவும்.",
"Base User Tree" => "தள பயனாளர் மரம்",
"Group Display Name Field" => "குழுவின் காட்சி பெயர் புலம் ",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "ownCloud குழுக்களின் பெயர்களை உருவாக்க LDAP பண்புக்கூறை பயன்படுத்தவும்.",
"Base Group Tree" => "தள குழு மரம்",
"Group-Member association" => "குழு உறுப்பினர் சங்கம்",
"in bytes" => "bytes களில் ",
diff --git a/apps/user_ldap/l10n/th_TH.php b/apps/user_ldap/l10n/th_TH.php
index ec279ba01e5e97dc355cf1642678b572d962129e..a3e3ec2ac49b9e54d027d3ad33af517286a687e1 100644
--- a/apps/user_ldap/l10n/th_TH.php
+++ b/apps/user_ldap/l10n/th_TH.php
@@ -12,7 +12,6 @@
"Connection test failed" => "ทดสอบการเชื่อมต่อล้มเหลว",
"Do you really want to delete the current Server Configuration?" => "คุณแน่ใจแล้วหรือว่าต้องการลบการกำหนดค่าเซิร์ฟเวอร์ปัจจุบันทิ้งไป?",
"Confirm Deletion" => "ยืนยันการลบทิ้ง",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "คำเตือน: แอปฯ user_ldap และ user_webdavauth ไม่สามารถใช้งานร่วมกันได้. คุณอาจประสพปัญหาที่ไม่คาดคิดจากเหตุการณ์ดังกล่าว กรุณาติดต่อผู้ดูแลระบบของคุณเพื่อระงับการใช้งานแอปฯ ตัวใดตัวหนึ่งข้างต้น",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "คำเตือน: โมดูล PHP LDAP ยังไม่ได้ถูกติดตั้ง, ระบบด้านหลังจะไม่สามารถทำงานได้ กรุณาติดต่อผู้ดูแลระบบของคุณเพื่อทำการติดตั้งโมดูลดังกล่าว",
"Server configuration" => "การกำหนดค่าเซิร์ฟเวอร์",
"Add Server Configuration" => "เพิ่มการกำหนดค่าเซิร์ฟเวอร์",
@@ -40,18 +39,15 @@
"Use TLS" => "ใช้ TLS",
"Case insensitve LDAP server (Windows)" => "เซิร์ฟเวอร์ LDAP ประเภท Case insensitive (วินโดวส์)",
"Turn off SSL certificate validation." => "ปิดใช้งานการตรวจสอบความถูกต้องของใบรับรองความปลอดภัย SSL",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "หากการเชื่อมต่อสามารถทำงานได้เฉพาะกับตัวเลือกนี้เท่านั้น, ให้นำเข้าข้อมูลใบรับรองความปลอดภัยแบบ SSL ของเซิร์ฟเวอร์ LDAP ดังกล่าวเข้าไปไว้ในเซิร์ฟเวอร์ ownCloud",
"Not recommended, use for testing only." => "ไม่แนะนำให้ใช้งาน, ใช้สำหรับการทดสอบเท่านั้น",
"in seconds. A change empties the cache." => "ในอีกไม่กี่วินาที ระบบจะเปลี่ยนแปลงข้อมูลในแคชให้ว่างเปล่า",
"Directory Settings" => "ตั้งค่าไดเร็กทอรี่",
"User Display Name Field" => "ช่องแสดงชื่อผู้ใช้งานที่ต้องการ",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "คุณลักษณะ LDAP ที่ต้องการใช้สำหรับสร้างชื่อของผู้ใช้งาน ownCloud",
"Base User Tree" => "รายการผู้ใช้งานหลักแบบ Tree",
"One User Base DN per line" => "หนึ่ง User Base DN ต่อบรรทัด",
"User Search Attributes" => "คุณลักษณะการค้นหาชื่อผู้ใช้",
"Optional; one attribute per line" => "ตัวเลือกเพิ่มเติม; หนึ่งคุณลักษณะต่อบรรทัด",
"Group Display Name Field" => "ช่องแสดงชื่อกลุ่มที่ต้องการ",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "คุณลักษณะ LDAP ที่ต้องการใช้สร้างชื่อกลุ่มของ ownCloud",
"Base Group Tree" => "รายการกลุ่มหลักแบบ Tree",
"One Group Base DN per line" => "หนึ่ง Group Base DN ต่อบรรทัด",
"Group Search Attributes" => "คุณลักษณะการค้นหาแบบกลุ่ม",
diff --git a/apps/user_ldap/l10n/tr.php b/apps/user_ldap/l10n/tr.php
index 3835c72313ab32688bcaed94b6669dcc989c3ada..aee38335343c345b702d9b4f4c320cc8084c59b6 100644
--- a/apps/user_ldap/l10n/tr.php
+++ b/apps/user_ldap/l10n/tr.php
@@ -12,7 +12,6 @@
"Connection test failed" => "Bağlantı testi başarısız oldu",
"Do you really want to delete the current Server Configuration?" => "Şu anki sunucu yapılandırmasını silmek istediğinizden emin misiniz?",
"Confirm Deletion" => "Silmeyi onayla",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Uyari Apps kullanici_Idap ve user_webdavauth uyunmayan. Bu belki sik degil. Lutfen sistem yonetici sormak on aktif yapmaya. ",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "Ihbar Modulu PHP LDAP yuklemdi degil, backend calismacak. Lutfen sistem yonetici sormak yuklemek icin.",
"Server configuration" => "Sunucu uyunlama ",
"Add Server Configuration" => "Sunucu Uyunlama birlemek ",
@@ -41,23 +40,19 @@
"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "Bir kopya cevre vermek, kopya sunucu onemli olmali. ",
"Backup (Replica) Port" => "Kopya Port ",
"Disable Main Server" => "Ana sunucuyu devredışı birak",
-"When switched on, ownCloud will only connect to the replica server." => "Ne zaman acik, ownCloud sadece sunuce replikayin baglamis.",
"Use TLS" => "TLS kullan",
"Do not use it additionally for LDAPS connections, it will fail." => "Bu LDAPS baglama icin kullamaminiz, basamacak. ",
"Case insensitve LDAP server (Windows)" => "Dusme sunucu LDAP zor degil. (Windows)",
"Turn off SSL certificate validation." => "SSL sertifika doğrulamasını kapat.",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Bagladiginda, bunla secene sadece calisiyor, sunucu LDAP SSL sunucun ithal etemek, dneyme sizine sunucu ownClouden. ",
"Not recommended, use for testing only." => "Önerilmez, sadece test için kullanın.",
"Cache Time-To-Live" => "Cache Time-To-Live ",
"in seconds. A change empties the cache." => "saniye cinsinden. Bir değişiklik önbelleği temizleyecektir.",
"Directory Settings" => "Parametrar Listesin Adresinin ",
"User Display Name Field" => "Ekran Adi Kullanici, (Alan Adi Kullanici Ekrane)",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "LDAP kategori kullanmaya adi ownCloud kullanicin uremek icin. ",
"Base User Tree" => "Temel Kullanıcı Ağacı",
"One User Base DN per line" => "Bir Temel Kullanici DN her dizgi ",
"User Search Attributes" => "Kategorii Arama Kullanici ",
"Group Display Name Field" => "Grub Ekrane Alani Adi",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "LDAP kullamayin grub adi ownCloud uremek icin. ",
"Base Group Tree" => "Temel Grup Ağacı",
"One Group Base DN per line" => "Bir Grubu Tabani DN her dizgi. ",
"Group Search Attributes" => "Kategorii Arama Grubu",
diff --git a/apps/user_ldap/l10n/uk.php b/apps/user_ldap/l10n/uk.php
index f92c6d5894ef6ffd87102c880a45c401f1ff9c90..56c6f615ecce729f9a52a6399d61327e084cc200 100644
--- a/apps/user_ldap/l10n/uk.php
+++ b/apps/user_ldap/l10n/uk.php
@@ -13,7 +13,6 @@
"Connection test failed" => "Перевірка з'єднання завершилась неуспішно",
"Do you really want to delete the current Server Configuration?" => "Ви дійсно бажаєте видалити поточну конфігурацію сервера ?",
"Confirm Deletion" => "Підтвердіть Видалення",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Увага: Застосунки user_ldap та user_webdavauth не сумісні. Ви можете зіткнутися з несподіваною поведінкою. Будь ласка, зверніться до системного адміністратора, щоб відключити одну з них.",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "Увага: b> Потрібний модуль PHP LDAP не встановлено, базова програма працювати не буде. Будь ласка, зверніться до системного адміністратора, щоб встановити його.",
"Server configuration" => "Налаштування Сервера",
"Add Server Configuration" => "Додати налаштування Сервера",
@@ -43,24 +42,20 @@
"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "Вкажіть додатковий резервний сервер. Він повинен бути копією головного LDAP/AD сервера.",
"Backup (Replica) Port" => "Порт сервера для резервних копій",
"Disable Main Server" => "Вимкнути Головний Сервер",
-"When switched on, ownCloud will only connect to the replica server." => "Коли увімкнуто, ownCloud буде приєднуватись лише до сервера з резервними копіями.",
"Use TLS" => "Використовуйте TLS",
"Do not use it additionally for LDAPS connections, it will fail." => "Не використовуйте це додатково для під'єднання до LDAP, бо виконано не буде.",
"Case insensitve LDAP server (Windows)" => "Нечутливий до регістру LDAP сервер (Windows)",
"Turn off SSL certificate validation." => "Вимкнути перевірку SSL сертифіката.",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Якщо з'єднання працює лише з цією опцією, імпортуйте SSL сертифікат LDAP сервера у ваший ownCloud сервер.",
"Not recommended, use for testing only." => "Не рекомендується, використовуйте лише для тестів.",
"Cache Time-To-Live" => "Час актуальності Кеша",
"in seconds. A change empties the cache." => "в секундах. Зміна очищує кеш.",
"Directory Settings" => "Налаштування Каталога",
"User Display Name Field" => "Поле, яке відображає Ім'я Користувача",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "Атрибут LDAP, який використовується для генерації імен користувачів ownCloud.",
"Base User Tree" => "Основне Дерево Користувачів",
"One User Base DN per line" => "Один Користувач Base DN на одній строчці",
"User Search Attributes" => "Пошукові Атрибути Користувача",
"Optional; one attribute per line" => "Додатково; один атрибут на строчку",
"Group Display Name Field" => "Поле, яке відображає Ім'я Групи",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "Атрибут LDAP, який використовується для генерації імен груп ownCloud.",
"Base Group Tree" => "Основне Дерево Груп",
"One Group Base DN per line" => "Одна Група Base DN на одній строчці",
"Group Search Attributes" => "Пошукові Атрибути Групи",
diff --git a/apps/user_ldap/l10n/vi.php b/apps/user_ldap/l10n/vi.php
index 7e598225926a4eff92474a16eeb370f87b3adcca..da7bc38e475a9732cef524df09bd4696bbc00129 100644
--- a/apps/user_ldap/l10n/vi.php
+++ b/apps/user_ldap/l10n/vi.php
@@ -23,22 +23,18 @@
"Port" => "Cổng",
"Backup (Replica) Port" => "Cổng sao lưu (Replica)",
"Disable Main Server" => "Tắt máy chủ chính",
-"When switched on, ownCloud will only connect to the replica server." => "When switched on, ownCloud will only connect to the replica server.",
"Use TLS" => "Sử dụng TLS",
"Do not use it additionally for LDAPS connections, it will fail." => "Do not use it additionally for LDAPS connections, it will fail.",
"Case insensitve LDAP server (Windows)" => "Trường hợp insensitve LDAP máy chủ (Windows)",
"Turn off SSL certificate validation." => "Tắt xác thực chứng nhận SSL",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Nếu kết nối chỉ hoạt động với tùy chọn này, vui lòng import LDAP certificate SSL trong máy chủ ownCloud của bạn.",
"Not recommended, use for testing only." => "Không khuyến khích, Chỉ sử dụng để thử nghiệm.",
"in seconds. A change empties the cache." => "trong vài giây. Một sự thay đổi bộ nhớ cache.",
"Directory Settings" => "Directory Settings",
"User Display Name Field" => "Hiển thị tên người sử dụng",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "Các thuộc tính LDAP sử dụng để tạo tên người dùng ownCloud.",
"Base User Tree" => "Cây người dùng cơ bản",
"User Search Attributes" => "User Search Attributes",
"Optional; one attribute per line" => "Optional; one attribute per line",
"Group Display Name Field" => "Hiển thị tên nhóm",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "Các thuộc tính LDAP sử dụng để tạo các nhóm ownCloud.",
"Base Group Tree" => "Cây nhóm cơ bản",
"Group Search Attributes" => "Group Search Attributes",
"Group-Member association" => "Nhóm thành viên Cộng đồng",
diff --git a/apps/user_ldap/l10n/zh_CN.GB2312.php b/apps/user_ldap/l10n/zh_CN.GB2312.php
index 6c60ec64e270aadb8159b4b72f35364b8cabf380..fe52e32361edacbb5c22e5f9c072485929cc9ec5 100644
--- a/apps/user_ldap/l10n/zh_CN.GB2312.php
+++ b/apps/user_ldap/l10n/zh_CN.GB2312.php
@@ -23,14 +23,11 @@
"Use TLS" => "使用 TLS",
"Case insensitve LDAP server (Windows)" => "大小写不敏感的 LDAP 服务器 (Windows)",
"Turn off SSL certificate validation." => "关闭 SSL 证书校验。",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "如果只有使用此选项才能连接,请导入 LDAP 服务器的 SSL 证书到您的 ownCloud 服务器。",
"Not recommended, use for testing only." => "不推荐,仅供测试",
"in seconds. A change empties the cache." => "以秒计。修改会清空缓存。",
"User Display Name Field" => "用户显示名称字段",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "用于生成用户的 ownCloud 名称的 LDAP 属性。",
"Base User Tree" => "基本用户树",
"Group Display Name Field" => "群组显示名称字段",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "用于生成群组的 ownCloud 名称的 LDAP 属性。",
"Base Group Tree" => "基本群组树",
"Group-Member association" => "群组-成员组合",
"in bytes" => "以字节计",
diff --git a/apps/user_ldap/l10n/zh_CN.php b/apps/user_ldap/l10n/zh_CN.php
index 675fe4dfc7529df218d7fcfeef4dd821b5eba24b..9abe4e7a9670657b44d2d4135bd59a5949401a1f 100644
--- a/apps/user_ldap/l10n/zh_CN.php
+++ b/apps/user_ldap/l10n/zh_CN.php
@@ -15,7 +15,6 @@
"Connection test failed" => "连接测试失败",
"Do you really want to delete the current Server Configuration?" => "您真的想要删除当前服务器配置吗?",
"Confirm Deletion" => "确认删除",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "警告:应用 user_ldap 和 user_webdavauth 不兼容。您可能遭遇未预料的行为。请垂询您的系统管理员禁用其中一个。",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "警告: PHP LDAP 模块未安装,后端将无法工作。请请求您的系统管理员安装该模块。",
"Server configuration" => "服务器配置",
"Add Server Configuration" => "添加服务器配置",
@@ -45,24 +44,20 @@
"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "给出一个可选的备份主机。它必须为主 LDAP/AD 服务器的一个镜像。",
"Backup (Replica) Port" => "备份 (镜像) 端口",
"Disable Main Server" => "禁用主服务器",
-"When switched on, ownCloud will only connect to the replica server." => "当开启后,ownCloud 将仅连接到镜像服务器。",
"Use TLS" => "使用TLS",
"Do not use it additionally for LDAPS connections, it will fail." => "对于 LDAPS 连接不要额外启用它,连接必然失败。",
"Case insensitve LDAP server (Windows)" => "大小写敏感LDAP服务器(Windows)",
"Turn off SSL certificate validation." => "关闭SSL证书验证",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "如果链接仅在此选项时可用,在您的ownCloud服务器中导入LDAP服务器的SSL证书。",
"Not recommended, use for testing only." => "暂不推荐,仅供测试",
"Cache Time-To-Live" => "缓存存活时间",
"in seconds. A change empties the cache." => "以秒计。修改将清空缓存。",
"Directory Settings" => "目录设置",
"User Display Name Field" => "用户显示名称字段",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "用来生成用户的ownCloud名称的 LDAP属性",
"Base User Tree" => "基础用户树",
"One User Base DN per line" => "每行一个用户基准判别名",
"User Search Attributes" => "用户搜索属性",
"Optional; one attribute per line" => "可选;每行一个属性",
"Group Display Name Field" => "组显示名称字段",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "用来生成组的ownCloud名称的LDAP属性",
"Base Group Tree" => "基础组树",
"One Group Base DN per line" => "每行一个群组基准判别名",
"Group Search Attributes" => "群组搜索属性",
@@ -75,13 +70,10 @@
"User Home Folder Naming Rule" => "用户主目录命名规则",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "将用户名称留空(默认)。否则指定一个LDAP/AD属性",
"Internal Username" => "内部用户名",
-"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "默认情况下内部用户名具有唯一识别属性来确保用户名的唯一性和属性不用转换。内部用户名有严格的字符限制,只允许使用 [ a-zA-Z0-9_.@- ]。其他字符会被ASCII码取代或者被活力。当冲突时会增加或者减少一个数字。内部用户名被用于内部识别用户,同时也作为ownCloud中用户根文件夹的默认名。也作为远程URLs的一部分,比如为了所有的*DAV服务。在这种设置下,默认行为可以被超越。实现一个类似的行为,owncloud 5输入用户的显示名称属性在以下领域之前。让它空着的默认行为。更改只对新映射的影响(增加)的LDAP用户。",
"Internal Username Attribute:" => "内部用户名属性:",
"Override UUID detection" => "超越UUID检测",
-"By default, ownCloud autodetects the UUID attribute. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users and groups." => "默认ownCloud自动检测UUID属性。UUID属性用来无误的识别LDAP用户和组。同时内部用户名也基于UUID创建,如果没有上述的指定。也可以超越设置直接指定一种属性。但一定要确保指定的属性取得的用户和组是唯一的。默认行为空。变更基于新映射(增加)LDAP用户和组才会生效。",
"UUID Attribute:" => "UUID属性:",
"Username-LDAP User Mapping" => "用户名-LDAP用户映射",
-"ownCloud uses usernames to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from ownCloud username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found by ownCloud. The internal ownCloud name is used all over in ownCloud. Clearing the Mappings will have leftovers everywhere. Clearing the Mappings is not configuration sensitive, it affects all LDAP configurations! Do never clear the mappings in a production environment. Only clear mappings in a testing or experimental stage." => "ownCloud使用用户名存储和分配数据(元)。为了准确地识别和确认用户,每个用户都有一个内部用户名。需要从ownCloud用户名映射到LDAP用户。创建的用户名映射到LDAP用户的UUID。此外,DN是缓存以及减少LDAP交互,但它不用于识别。如果DN变化,ownCloud也会变化。内部ownCloud名在ownCloud的各处使用。清除映射将一片混乱。清除映射不是常用的配置,它影响到所有LDAP配置!千万不要在正式环境中清除映射。只有在测试或试验阶段可以清除映射。",
"Clear Username-LDAP User Mapping" => "清除用户-LDAP用户映射",
"Clear Groupname-LDAP Group Mapping" => "清除组用户-LDAP级映射",
"Test Configuration" => "测试配置",
diff --git a/apps/user_ldap/l10n/zh_TW.php b/apps/user_ldap/l10n/zh_TW.php
index cde743f003378571879c378e972e271e7477b594..3612ca53c1dd7d4c9b4bced7de687c769776c73b 100644
--- a/apps/user_ldap/l10n/zh_TW.php
+++ b/apps/user_ldap/l10n/zh_TW.php
@@ -15,7 +15,6 @@
"Connection test failed" => "連線測試失敗",
"Do you really want to delete the current Server Configuration?" => "您真的確定要刪除現在的伺服器設定嗎?",
"Confirm Deletion" => "確認已刪除",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "警告: 應用程式user_ldap和user_webdavauth互不相容。可能會造成無法預期的結果。請要求您的系統管理員將兩者其中之一停用。",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "警告:沒有安裝 PHP LDAP 模組,後端系統將無法運作。請要求您的系統管理員安裝模組。",
"Server configuration" => "伺服器設定",
"Add Server Configuration" => "新增伺服器設定",
@@ -43,17 +42,14 @@
"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "請給定一個可選的備用主機。必須是LDAP/AD中央伺服器的複本。",
"Backup (Replica) Port" => "備用(複本)連接阜",
"Disable Main Server" => "停用主伺服器",
-"When switched on, ownCloud will only connect to the replica server." => "當開關打開時,ownCloud將只會連接複本伺服器。",
"Use TLS" => "使用TLS",
"Case insensitve LDAP server (Windows)" => "不區分大小寫的LDAP伺服器(Windows)",
"Turn off SSL certificate validation." => "關閉 SSL 憑證驗證",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "若連線只有在此選項開啟時運作,請匯入LDAP伺服器的SSL認證到您的ownCloud伺服器。",
"Not recommended, use for testing only." => "不推薦使用,僅供測試用途。",
"Cache Time-To-Live" => "快取的存活時間",
"in seconds. A change empties the cache." => "以秒為單位。更變後會清空快取。",
"Directory Settings" => "目錄選項",
"User Display Name Field" => "使用者名稱欄位",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "用於產生ownCloud名稱",
"Base User Tree" => "Base使用者數",
"One User Base DN per line" => "一行一個使用者Base DN",
"User Search Attributes" => "使用者搜索屬性",
diff --git a/apps/user_ldap/templates/settings.php b/apps/user_ldap/templates/settings.php
index 972970aa3ef11445789bbb51390cffe5c35ec8f6..95aa592594bc4948c3c7dd31205596d916b50562 100644
--- a/apps/user_ldap/templates/settings.php
+++ b/apps/user_ldap/templates/settings.php
@@ -6,7 +6,7 @@
'); - print_unescaped(''.OC_Util::sanitizeHTML($_['message']) .' '); - -}else{ - - if( isset( $_['outcome_stat'] ) ) { - - print_unescaped( ' '.OC_Util::sanitizeHTML($_['outcome_msg']).''); - - } - - print_unescaped( 'Versions of '.OC_Util::sanitizeHTML($_['path']).' '); - print_unescaped(' '.OC_Util::sanitizeHTML($l->t('Revert a file to a previous version by clicking on its revert button')).' '); - - foreach ( $_['versions'] as $v ) { - p(' '); - p(OCP\Util::formatDate( doubleval($v['version']))); - print_unescaped(' Revert '); - if ( $v['cur'] ) { - print_unescaped(' (Current)'); - } - print_unescaped(' '); - } - -} - -?> - '.$l->t('Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them.').' '); } if(!function_exists('ldap_connect')) { print_unescaped(''.$l->t('Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it.').' '); @@ -72,18 +72,18 @@ - +> -
t('Directory Settings'));?>
-
+
-
+
@@ -99,16 +99,16 @@
- t('Help'));?>
+ t('Help'));?>
diff --git a/apps/user_webdavauth/l10n/ar.php b/apps/user_webdavauth/l10n/ar.php
index 78b347e51faf1f058f4ed6378cf3da48417e801a..e708a054099f4c9d441fef02d5a94bf1d457883e 100644
--- a/apps/user_webdavauth/l10n/ar.php
+++ b/apps/user_webdavauth/l10n/ar.php
@@ -1,4 +1,3 @@
"تأكد شخصية ال WebDAV",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials."
+"WebDAV Authentication" => "تأكد شخصية ال WebDAV"
);
diff --git a/apps/user_webdavauth/l10n/bg_BG.php b/apps/user_webdavauth/l10n/bg_BG.php
index 61503db8392acee4f71a4ace9351d29fab2182fc..4f2a7609d73e9a26c89bbc7f7e1248dbf4c5e1a3 100644
--- a/apps/user_webdavauth/l10n/bg_BG.php
+++ b/apps/user_webdavauth/l10n/bg_BG.php
@@ -1,4 +1,3 @@
"WebDAV идентификация",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud ще изпрати потребителските данни до този URL. "
+"WebDAV Authentication" => "WebDAV идентификация"
);
diff --git a/apps/user_webdavauth/l10n/ca.php b/apps/user_webdavauth/l10n/ca.php
index 339e4dbe68821e3bd8d531266ef89860980dae76..b046e58cee69c1dcc2127e2d34b503f2fa36febe 100644
--- a/apps/user_webdavauth/l10n/ca.php
+++ b/apps/user_webdavauth/l10n/ca.php
@@ -1,5 +1,5 @@
"Autenticació WebDAV",
-"URL: " => "URL:",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud enviarà les credencials d'usuari a aquesta URL. Aquest endollable en comprova la resposta i interpretarà els codis d'estat 401 i 403 com a credencials no vàlides, i qualsevol altra resposta com a credencials vàlides."
+"Address: " => "Adreça:",
+"The user credentials will be sent to this address. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "Les credencials d'usuari s'enviaran a aquesta adreça. Aquest connector comprova la resposta i interpreta els codis d'estat 401 i 403 com a credencials no vàlides, i qualsevol altra resposta com a credencials vàlides."
);
diff --git a/apps/user_webdavauth/l10n/cs_CZ.php b/apps/user_webdavauth/l10n/cs_CZ.php
index e1f8d76e166777e522c0a694c5ca383069a3f7da..e6664d4d7b6720c9dbffe696e0e14e9e277e1cf5 100644
--- a/apps/user_webdavauth/l10n/cs_CZ.php
+++ b/apps/user_webdavauth/l10n/cs_CZ.php
@@ -1,5 +1,5 @@
"Ověření WebDAV",
-"URL: " => "URL: ",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud odešle uživatelské údaje na zadanou URL. Plugin zkontroluje odpověď a považuje návratovou hodnotu HTTP 401 a 403 za neplatné údaje a všechny ostatní hodnoty jako platné přihlašovací údaje."
+"Address: " => "Adresa:",
+"The user credentials will be sent to this address. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "Uživatelské přihlašovací údaje budou odeslány na tuto adresu. Tento plugin zkontroluje odpověď serveru a interpretuje návratový kód HTTP 401 a 403 jako neplatné přihlašovací údaje a jakýkoli jiný jako platné přihlašovací údaje."
);
diff --git a/apps/user_webdavauth/l10n/da.php b/apps/user_webdavauth/l10n/da.php
index 0d1190ba22287047a6b4b0d819a8619017be6d84..347267e53c722e7abab3278d8a50982c519858f5 100644
--- a/apps/user_webdavauth/l10n/da.php
+++ b/apps/user_webdavauth/l10n/da.php
@@ -1,4 +1,5 @@
"WebDAV-godkendelse",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud vil sende brugerens oplysninger til denne URL. Plugin'et registrerer responsen og fortolker HTTP-statuskoder 401 og 403 som ugyldige oplysninger, men alle andre besvarelser som gyldige oplysninger."
+"Address: " => "Adresse:",
+"The user credentials will be sent to this address. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "Bruger oplysningerne vil blive sendt til denne adresse. Plugin'et registrerer responsen og fortolker HTTP-statuskode 401 og 403 som ugyldige oplysninger, men alle andre besvarelser som gyldige oplysninger."
);
diff --git a/apps/user_webdavauth/l10n/de.php b/apps/user_webdavauth/l10n/de.php
index a6d61a497f74be86489468ba6fdc28566a397845..f0e7f5dc6ef04744382def7a8f1e9a8ab1de8911 100644
--- a/apps/user_webdavauth/l10n/de.php
+++ b/apps/user_webdavauth/l10n/de.php
@@ -1,5 +1,5 @@
"WebDAV Authentifikation",
-"URL: " => "URL:",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud sendet die Benutzerdaten an diese URL. Dieses Plugin prüft die Antwort und wird die Statuscodes 401 und 403 als ungültige Daten und alle anderen Antworten als gültige Daten interpretieren."
+"Address: " => "Addresse: ",
+"The user credentials will be sent to this address. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "Die Benutzerdaten werden an diese Adresse gesendet. Dieses Plugin prüft die Antwort und wird die HTTP-Statuscodes 401 und 403 als ungültige Daten interpretieren und alle anderen Antworten als gültige Daten."
);
diff --git a/apps/user_webdavauth/l10n/de_DE.php b/apps/user_webdavauth/l10n/de_DE.php
index 21a886343f049303a4de5c7eb41cb878f8085b9e..ff55a5d895194bbb8f4f19f7069d8d7cbfe1b7fe 100644
--- a/apps/user_webdavauth/l10n/de_DE.php
+++ b/apps/user_webdavauth/l10n/de_DE.php
@@ -1,5 +1,5 @@
"WebDAV-Authentifizierung",
-"URL: " => "URL:",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud sendet die Benutzerdaten an diese URL. Dieses Plugin prüft die Antwort und wird die Statuscodes 401 und 403 als ungültige Daten und alle anderen Antworten als gültige Daten interpretieren."
+"Address: " => "Adresse:",
+"The user credentials will be sent to this address. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "Die Benutzerdaten werden an diese Adresse gesendet. Dieses Plugin prüft die Antwort und wird die HTTP-Statuscodes 401 und 403 als ungültige Daten interpretieren und alle anderen Antworten als gültige Daten."
);
diff --git a/apps/user_webdavauth/l10n/el.php b/apps/user_webdavauth/l10n/el.php
index 79bb1d13bf7a20958ad7a3de8dfbefe93913bf03..2b7cb504030f57964ffcc0d880702924ea48e136 100644
--- a/apps/user_webdavauth/l10n/el.php
+++ b/apps/user_webdavauth/l10n/el.php
@@ -1,5 +1,3 @@
"Αυθεντικοποίηση μέσω WebDAV ",
-"URL: " => "URL:",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "Το ownCloud θα στείλει τα διαπιστευτήρια χρήστη σε αυτό το URL. Αυτό το plugin ελέγχει την απάντηση και την μετατρέπει σε HTTP κωδικό κατάστασης 401 και 403 για μη έγκυρα, όλες οι υπόλοιπες απαντήσεις είναι έγκυρες."
+"WebDAV Authentication" => "Αυθεντικοποίηση μέσω WebDAV "
);
diff --git a/apps/user_webdavauth/l10n/es.php b/apps/user_webdavauth/l10n/es.php
index 18c87794d65ffa659eb8d9623ab69d51161e077a..262122cf9c37a47faef844a79120b55692f24f59 100644
--- a/apps/user_webdavauth/l10n/es.php
+++ b/apps/user_webdavauth/l10n/es.php
@@ -1,5 +1,3 @@
"Autenticación de WevDAV",
-"URL: " => "URL:",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "onwCloud enviará las credenciales de usuario a esta URL. Este complemento verifica la respuesta e interpretará los códigos de respuesta HTTP 401 y 403 como credenciales inválidas y todas las otras respuestas como credenciales válidas."
+"WebDAV Authentication" => "Autenticación de WevDAV"
);
diff --git a/apps/user_webdavauth/l10n/es_AR.php b/apps/user_webdavauth/l10n/es_AR.php
index cda5d7eab0562e65128a84276865804d5afc676c..262122cf9c37a47faef844a79120b55692f24f59 100644
--- a/apps/user_webdavauth/l10n/es_AR.php
+++ b/apps/user_webdavauth/l10n/es_AR.php
@@ -1,5 +1,3 @@
"Autenticación de WevDAV",
-"URL: " => "URL: ",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "onwCloud enviará las credenciales de usuario a esta URL. Este complemento verifica la respuesta e interpretará los códigos de respuesta HTTP 401 y 403 como credenciales inválidas y todas las otras respuestas como credenciales válidas."
+"WebDAV Authentication" => "Autenticación de WevDAV"
);
diff --git a/apps/user_webdavauth/l10n/et_EE.php b/apps/user_webdavauth/l10n/et_EE.php
index f95b5214130f6afc457dda1e1249d327d1a45f8d..e2f359f738ecfe52fca4f7e2fc9547b8beef8534 100644
--- a/apps/user_webdavauth/l10n/et_EE.php
+++ b/apps/user_webdavauth/l10n/et_EE.php
@@ -1,5 +1,3 @@
"WebDAV autentimine",
-"URL: " => "URL: ",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud saadab kasutajatunnused sellel aadressil. See vidin kontrollib vastust ning tuvastab HTTP vastuskoodid 401 ja 403 kui vigased, ning kõik teised vastused kui korrektsed kasutajatunnused."
+"WebDAV Authentication" => "WebDAV autentimine"
);
diff --git a/apps/user_webdavauth/l10n/eu.php b/apps/user_webdavauth/l10n/eu.php
index 6395d7fc1e0de132b2ecd8e7182bc7477241dab4..686df69f08aae01a098b5d259a9b517a0020b5e0 100644
--- a/apps/user_webdavauth/l10n/eu.php
+++ b/apps/user_webdavauth/l10n/eu.php
@@ -1,4 +1,5 @@
"WebDAV Autentikazioa",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloudek erabiltzailearen kredentzialak URL honetara bidaliko ditu. Plugin honek erantzuna aztertzen du eta HTTP 401 eta 403 egoera kodeak baliogabezko kredentzialtzat hartuko ditu, beste erantzunak kredentzial egokitzat hartuko dituelarik."
+"Address: " => "Helbidea:",
+"The user credentials will be sent to this address. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "Erabiltzailearen kredentzialak helbide honetara bidaliko dira. Plugin honek erantzuna aztertu eta HTTP 401 eta 403 egoera-kodeak kredentzial ez-egokitzat hartuko ditu, eta beste edozein erantzun, aldiz, kredentzial egokitzat."
);
diff --git a/apps/user_webdavauth/l10n/fi_FI.php b/apps/user_webdavauth/l10n/fi_FI.php
index 61a848bcfe4bdf63f55c19d8951bf12834d5e369..40a3a069090b0df4484057be6aa360cc079af1ce 100644
--- a/apps/user_webdavauth/l10n/fi_FI.php
+++ b/apps/user_webdavauth/l10n/fi_FI.php
@@ -1,3 +1,4 @@
"WebDAV-todennus"
+"WebDAV Authentication" => "WebDAV-todennus",
+"Address: " => "Osoite:"
);
diff --git a/apps/user_webdavauth/l10n/fr.php b/apps/user_webdavauth/l10n/fr.php
index e7fad26287c334861a12784eb10c7906ee59ef55..1957bbaa30b23cd7f592b63837755ea4d3986cf9 100644
--- a/apps/user_webdavauth/l10n/fr.php
+++ b/apps/user_webdavauth/l10n/fr.php
@@ -1,5 +1,3 @@
"Authentification WebDAV",
-"URL: " => "URL: ",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud enverra les informations de connexion à cette adresse. Ce module complémentaire analyse le code réponse HTTP et considère tout code différent des codes 401 et 403 comme associé à une authentification correcte."
+"WebDAV Authentication" => "Authentification WebDAV"
);
diff --git a/apps/user_webdavauth/l10n/gl.php b/apps/user_webdavauth/l10n/gl.php
index 35ed8a1969fe4da0985458c75716f6fbbb951f5a..a989f013021dddffb5c4d9831704ee8f03d328fa 100644
--- a/apps/user_webdavauth/l10n/gl.php
+++ b/apps/user_webdavauth/l10n/gl.php
@@ -1,5 +1,5 @@
"Autenticación WebDAV",
-"URL: " => "URL: ",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud enviará as credenciais do usuario a este URL. Este engadido comproba a resposta e interpretará os códigos de estado HTTP 401 e 403 como credenciais incorrectas, e todas as outras respostas como credenciais correctas."
+"Address: " => "Enderezo:",
+"The user credentials will be sent to this address. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "As credenciais do usuario serán enviadas a este enderezo. Este engadido comproba a resposta e interpretará os códigos de estado 401 e 403 como credenciais incorrectas, e todas as outras respostas como credenciais correctas."
);
diff --git a/apps/user_webdavauth/l10n/he.php b/apps/user_webdavauth/l10n/he.php
index aee7b00f1851a1955ad982c729de32375a26151f..724acc0e3d2b93cc533f03d22a2b2a5b5970b4c0 100644
--- a/apps/user_webdavauth/l10n/he.php
+++ b/apps/user_webdavauth/l10n/he.php
@@ -1,4 +1,3 @@
"הזדהות מול WebDAV",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "מערכת ownCloud תשלח את פרטי המשתמש לכתובת זו. התוסף יבדוק את התגובה ויתרגם את הקודים 401 ו־403 כתגובה לציון פרטי גישה שגויים ואת כל שאר התגובות כפרטי גישה נכונים."
+"WebDAV Authentication" => "הזדהות מול WebDAV"
);
diff --git a/apps/user_webdavauth/l10n/hu_HU.php b/apps/user_webdavauth/l10n/hu_HU.php
index d7de5e57f3bd374e24a55450486357dfd7b50b07..97423ce5fb733cdf8a2c4fb706bc5e7d3a7bafaa 100644
--- a/apps/user_webdavauth/l10n/hu_HU.php
+++ b/apps/user_webdavauth/l10n/hu_HU.php
@@ -1,4 +1,3 @@
"WebDAV hitelesítés",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "Az ownCloud elküldi a felhasználói fiók adatai a következő URL-re. Ez a bővítőmodul leellenőrzi a választ és ha a HTTP hibakód nem 401 vagy 403 azaz érvénytelen hitelesítő, akkor minden más válasz érvényes lesz."
+"WebDAV Authentication" => "WebDAV hitelesítés"
);
diff --git a/apps/user_webdavauth/l10n/id.php b/apps/user_webdavauth/l10n/id.php
index 8ddf54e47350264df35acc69f5559231eb46daef..22ca0557532a15579d1b364af03fbb4cd671dc4d 100644
--- a/apps/user_webdavauth/l10n/id.php
+++ b/apps/user_webdavauth/l10n/id.php
@@ -1,4 +1,3 @@
"Otentikasi WebDAV",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud akan mengirimkan informasi pengguna ke URL ini. Pengaya akan mengecek respon dan menginterpretasikan kode status HTTP 401 serta 403 sebagai informasi yang keliru, sedangkan respon lainnya dianggap benar."
+"WebDAV Authentication" => "Otentikasi WebDAV"
);
diff --git a/apps/user_webdavauth/l10n/it.php b/apps/user_webdavauth/l10n/it.php
index 1c1e0899b1da542eafe3a19f079d08204e651bbc..0d2b3f7f7c1200b3ec26b2b102017f090b90de26 100644
--- a/apps/user_webdavauth/l10n/it.php
+++ b/apps/user_webdavauth/l10n/it.php
@@ -1,5 +1,5 @@
"Autenticazione WebDAV",
-"URL: " => "URL:",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud invierà le credenziali dell'utente a questo URL. Questa estensione controlla la risposta e interpreta i codici di stato 401 e 403 come credenziali non valide, e tutte le altre risposte come credenziali valide."
+"Address: " => "Indirizzo:",
+"The user credentials will be sent to this address. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "Le credenziali dell'utente saranno inviate a questo indirizzo. Questa estensione controlla la risposta e interpreterà i codici di stato HTTP 401 e 403 come credenziali non valide, e tutte le altre risposte come credenziali valide."
);
diff --git a/apps/user_webdavauth/l10n/ja_JP.php b/apps/user_webdavauth/l10n/ja_JP.php
index 703cc71489e8f261ab8e0e58e40e81e3d911e50f..047bb148335d52cc6c315ab016d7efba02d36a41 100644
--- a/apps/user_webdavauth/l10n/ja_JP.php
+++ b/apps/user_webdavauth/l10n/ja_JP.php
@@ -1,5 +1,3 @@
"WebDAV 認証",
-"URL: " => "URL: ",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloudはこのURLにユーザ資格情報を送信します。このプラグインは応答をチェックし、HTTP状態コードが 401 と 403 の場合は無効な資格情報とし、他の応答はすべて有効な資格情報として処理します。"
+"WebDAV Authentication" => "WebDAV 認証"
);
diff --git a/apps/user_webdavauth/l10n/ka_GE.php b/apps/user_webdavauth/l10n/ka_GE.php
index 34c502cc5ebe086b0f1c4d1bd8c011b0ccb51058..343cccd64f189d79fb51b24c9c59a008738d246c 100644
--- a/apps/user_webdavauth/l10n/ka_GE.php
+++ b/apps/user_webdavauth/l10n/ka_GE.php
@@ -1,4 +1,3 @@
"WebDAV აუთენთიფიკაცია",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud–ი გამოგიგზავნით ანგარიშის მონაცემებს ამ URL–ზე. ეს პლაგინი შეამოწმებს პასუხს და მოახდენს მის ინტერპრეტაციას HTTP სტატუსკოდებში 401 და 403 დაუშვებელი მონაცემებისთვის, ხოლო სხვა დანარჩენს დაშვებადი მონაცემებისთვის."
+"WebDAV Authentication" => "WebDAV აუთენთიფიკაცია"
);
diff --git a/apps/user_webdavauth/l10n/ko.php b/apps/user_webdavauth/l10n/ko.php
index e0431164a53469ed42e5e20b9d6503c0c4422048..ff1d4cb805e3b5e3657f0e962b3b40a2b9b248ae 100644
--- a/apps/user_webdavauth/l10n/ko.php
+++ b/apps/user_webdavauth/l10n/ko.php
@@ -1,4 +1,3 @@
"WebDAV 인증",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud에서 이 URL로 사용자 인증 정보를 보냅니다. 이 플러그인은 응답을 확인하여 HTTP 상태 코드 401이나 403이 돌아온 경우에 잘못된 인증 정보로 간주합니다. 다른 모든 상태 코드는 올바른 인증 정보로 간주합니다."
+"WebDAV Authentication" => "WebDAV 인증"
);
diff --git a/apps/user_webdavauth/l10n/lt_LT.php b/apps/user_webdavauth/l10n/lt_LT.php
index ed81efdf8bfdb0ab9f92f78afd729f04f27ce6fe..106c1d034cda6a9bbd704598d64619318142f76c 100644
--- a/apps/user_webdavauth/l10n/lt_LT.php
+++ b/apps/user_webdavauth/l10n/lt_LT.php
@@ -1,4 +1,3 @@
"WebDAV autorizavimas",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud išsiųs naudotojo duomenis į šį WWW adresą. Šis įskiepis patikrins gautą atsakymą ir interpretuos HTTP būsenos kodą 401 ir 403 kaip negaliojančius duomenis, ir visus kitus gautus atsakymus kaip galiojančius duomenis. "
+"WebDAV Authentication" => "WebDAV autorizavimas"
);
diff --git a/apps/user_webdavauth/l10n/lv.php b/apps/user_webdavauth/l10n/lv.php
index 7f90f64d215327a0fe74e741b2c7034cee7fcef2..24dbc9c86003003d37534c45820492099a8eb248 100644
--- a/apps/user_webdavauth/l10n/lv.php
+++ b/apps/user_webdavauth/l10n/lv.php
@@ -1,4 +1,3 @@
"WebDAV autentifikācija",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud sūtīs lietotāja akreditācijas datus uz šo URL. Šis spraudnis pārbauda atbildi un interpretē HTTP statusa kodus 401 un 403 kā nederīgus akreditācijas datus un visas citas atbildes kā derīgus akreditācijas datus."
+"WebDAV Authentication" => "WebDAV autentifikācija"
);
diff --git a/apps/user_webdavauth/l10n/nl.php b/apps/user_webdavauth/l10n/nl.php
index 086f8ad2ea9a68df1b9a015bf66290bd58d09355..68669710f2fe53fc5e69e87b170baaced0cd8b64 100644
--- a/apps/user_webdavauth/l10n/nl.php
+++ b/apps/user_webdavauth/l10n/nl.php
@@ -1,5 +1,5 @@
"WebDAV authenticatie",
-"URL: " => "URL: ",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud stuurt de inloggegevens naar deze URL. Deze plugin controleert het antwoord en interpreteert de HTTP statuscodes 401 als 403 als ongeldige inloggegevens, maar alle andere antwoorden als geldige inloggegevens."
+"Address: " => "Adres:",
+"The user credentials will be sent to this address. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "De ingloggegevens worden opgestuurd naar dit adres. Deze plugin controleert de terugkoppeling en interpreteert de HTTP statuscodes 401 en 403 als invalide inloggegevens, en alle andere terugkoppelingen als valide inloggegevens."
);
diff --git a/apps/user_webdavauth/l10n/nn_NO.php b/apps/user_webdavauth/l10n/nn_NO.php
index 5c4184b33a8b2250dbe5cdcbb11e6025abc187cf..beb8af80bdac8c618e501c67e4b3e130e07e9b61 100644
--- a/apps/user_webdavauth/l10n/nn_NO.php
+++ b/apps/user_webdavauth/l10n/nn_NO.php
@@ -1,4 +1,3 @@
"WebDAV-autentisering",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud sender brukarakkreditiv til denne nettadressa. Dette programtillegget kontrollerer svaret og tolkar HTTP-statuskodane 401 og 403 som ugyldige, og alle andre svar som gyldige."
+"WebDAV Authentication" => "WebDAV-autentisering"
);
diff --git a/apps/user_webdavauth/l10n/pl.php b/apps/user_webdavauth/l10n/pl.php
index 8c8116e5234dd21533b1c46e77bfbcbe598af64e..5dc99eb0c2034c549bf0befec12daaec7922627e 100644
--- a/apps/user_webdavauth/l10n/pl.php
+++ b/apps/user_webdavauth/l10n/pl.php
@@ -1,5 +1,5 @@
"Uwierzytelnienie WebDAV",
-"URL: " => "URL: ",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud wyśle dane uwierzytelniające do tego URL. Ten plugin sprawdza odpowiedź i zinterpretuje kody HTTP 401 oraz 403 jako nieprawidłowe dane uwierzytelniające, a każdy inny kod odpowiedzi jako poprawne dane."
+"Address: " => "Adres:",
+"The user credentials will be sent to this address. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "Dane uwierzytelniające użytkownika zostaną wysłane na ten adres. Wtyczka sprawdza odpowiedź i będzie interpretował status HTTP 401 i 403 jako nieprawidłowe dane uwierzytelniające i wszystkie inne odpowiedzi jako prawidłowe uwierzytelnienie."
);
diff --git a/apps/user_webdavauth/l10n/pt_BR.php b/apps/user_webdavauth/l10n/pt_BR.php
index 6727219db427c573286460e1eb6202dc3109b709..f5c000ae6e02f476dd1b85bea0b62b71fcd899ce 100644
--- a/apps/user_webdavauth/l10n/pt_BR.php
+++ b/apps/user_webdavauth/l10n/pt_BR.php
@@ -1,5 +1,5 @@
"Autenticação WebDAV",
-"URL: " => "URL:",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "O ownCloud enviará as credenciais do usuário para esta URL. Este plugin verifica a resposta e interpreta o os códigos de status do HTTP 401 e 403 como credenciais inválidas, e todas as outras respostas como credenciais válidas."
+"Address: " => "Endereço:",
+"The user credentials will be sent to this address. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "As credenciais de usuário serão enviadas para este endereço. Este plugin verifica a resposta e interpretará os códigos de status HTTP 401 e 403 como \"credenciais inválidas\", e todas as outras respostas como \"credenciais válidas\"."
);
diff --git a/apps/user_webdavauth/l10n/pt_PT.php b/apps/user_webdavauth/l10n/pt_PT.php
index eec1a328e1d7dd6bd3ba6643e2a58256d221a0a9..75bfe976b46593ed59ef7a8866cfe27128754c9d 100644
--- a/apps/user_webdavauth/l10n/pt_PT.php
+++ b/apps/user_webdavauth/l10n/pt_PT.php
@@ -1,4 +1,5 @@
"Autenticação WebDAV",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "O ownCloud vai enviar as credenciais do utilizador através deste URL. Este plugin verifica a resposta e vai interpretar os códigos de estado HTTP 401 e 403 como credenciais inválidas, e todas as outras como válidas."
+"Address: " => "Endereço:",
+"The user credentials will be sent to this address. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "As credenciais do utilizador vão ser enviadas para endereço URL. Este plugin verifica a resposta e vai interpretar os códigos de estado HTTP 401 e 403 como credenciais inválidas, e todas as outras respostas como válidas."
);
diff --git a/apps/user_webdavauth/l10n/ro.php b/apps/user_webdavauth/l10n/ro.php
index bccd7d50e222651bcf589fd07c7bc5bbb09a357e..177f06154fb213441baa2d9b1414d8593f21c59b 100644
--- a/apps/user_webdavauth/l10n/ro.php
+++ b/apps/user_webdavauth/l10n/ro.php
@@ -1,4 +1,3 @@
"Autentificare WebDAV",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud va trimite datele de autentificare la acest URL. Acest modul verifică răspunsul și va interpreta codurile de status HTTP 401 sau 403 ca fiind date de autentificare invalide, și orice alt răspuns ca fiind date valide."
+"WebDAV Authentication" => "Autentificare WebDAV"
);
diff --git a/apps/user_webdavauth/l10n/ru.php b/apps/user_webdavauth/l10n/ru.php
index 20acc6e59a9bd40af89752ec0a945f6675c6ac7d..effd19d0f9ad196be2e8bf33ab7ce3968cee1005 100644
--- a/apps/user_webdavauth/l10n/ru.php
+++ b/apps/user_webdavauth/l10n/ru.php
@@ -1,5 +1,5 @@
"Идентификация WebDAV",
-"URL: " => "URL:",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud отправит учётные данные пользователя на этот адрес. Затем плагин проверит ответ, в случае HTTP ответа 401 или 403 данные будут считаться неверными, при любых других ответах - верными."
+"Address: " => "Адрес:",
+"The user credentials will be sent to this address. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "Учётные данные пользователя будут отправлены на этот адрес. Плагин проверит ответ и будет рассматривать HTTP коды 401 и 403 как неверные учётные данные, при любом другом ответе - учётные данные пользователя верны."
);
diff --git a/apps/user_webdavauth/l10n/sk_SK.php b/apps/user_webdavauth/l10n/sk_SK.php
index fa63b18569a5457fd101c9f3d7a36677cccb8846..9f2d8049c125b6c9a611080e071fe414b9559588 100644
--- a/apps/user_webdavauth/l10n/sk_SK.php
+++ b/apps/user_webdavauth/l10n/sk_SK.php
@@ -1,5 +1,3 @@
"WebDAV overenie",
-"URL: " => "URL: ",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud odošle používateľské údaje na zadanú URL. Plugin skontroluje odpoveď a považuje návratovú hodnotu HTTP 401 a 403 za neplatné údaje a všetky ostatné hodnoty ako platné prihlasovacie údaje."
+"WebDAV Authentication" => "WebDAV overenie"
);
diff --git a/apps/user_webdavauth/l10n/sl.php b/apps/user_webdavauth/l10n/sl.php
index 105fda48652c2e1f773e2f57e1c82d2fb60be700..93e6ce3fc420352e26500a1b305895e19731c0f1 100644
--- a/apps/user_webdavauth/l10n/sl.php
+++ b/apps/user_webdavauth/l10n/sl.php
@@ -1,5 +1,3 @@
"Overitev WebDAV",
-"URL: " => "URL:",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "Sistem ownCloud bo poslal uporabniška poverila na navedeni naslov URL. Ta vstavek preveri odziv in tolmači kode stanja HTTP 401 in HTTP 403 kot spodletel odgovor in vse ostale odzive kot veljavna poverila."
+"WebDAV Authentication" => "Overitev WebDAV"
);
diff --git a/apps/user_webdavauth/l10n/sr.php b/apps/user_webdavauth/l10n/sr.php
index 44ff078493c5617759f31deb97cea272f2265bf7..07f067c343a15888fa125191bb5fe6b462d0e2b5 100644
--- a/apps/user_webdavauth/l10n/sr.php
+++ b/apps/user_webdavauth/l10n/sr.php
@@ -1,4 +1,3 @@
"WebDAV провера идентитета",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud ће послати акредитиве корисника на ову адресу. Овај прикључак проверава одговор и тумачи HTTP статусне кодове 401 и 403 као неисправне акредитиве, а све остале одговоре као исправне."
+"WebDAV Authentication" => "WebDAV провера идентитета"
);
diff --git a/apps/user_webdavauth/l10n/sv.php b/apps/user_webdavauth/l10n/sv.php
index 481b7710946ab3bd81ac70a42a66c031e021a15d..95096ce7e9594d5fb3e87adf4ef349facc8a4fc9 100644
--- a/apps/user_webdavauth/l10n/sv.php
+++ b/apps/user_webdavauth/l10n/sv.php
@@ -1,5 +1,3 @@
"WebDAV Autentisering",
-"URL: " => "URL:",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud kommer skicka användaruppgifterna till denna URL. Denna plugin kontrollerar svaret och tolkar HTTP-statuskoderna 401 och 403 som felaktiga uppgifter, och alla andra svar som giltiga uppgifter."
+"WebDAV Authentication" => "WebDAV Autentisering"
);
diff --git a/apps/user_webdavauth/l10n/th_TH.php b/apps/user_webdavauth/l10n/th_TH.php
index 3c84ef7104d7e52e973875d5170256e2123048f4..f73058ee42e971b15a837c9a55a19fe8f4335797 100644
--- a/apps/user_webdavauth/l10n/th_TH.php
+++ b/apps/user_webdavauth/l10n/th_TH.php
@@ -1,4 +1,3 @@
"WebDAV Authentication",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud จะส่งข้อมูลการเข้าใช้งานของผู้ใช้งานไปยังที่อยู่ URL ดังกล่าวนี้ ปลั๊กอินดังกล่าวจะทำการตรวจสอบข้อมูลที่โต้ตอบกลับมาและจะทำการแปลรหัส HTTP statuscodes 401 และ 403 ให้เป็นข้อมูลการเข้าใช้งานที่ไม่สามารถใช้งานได้ ส่วนข้อมูลอื่นๆที่เหลือทั้งหมดจะเป็นข้อมูลการเข้าใช้งานที่สามารถใช้งานได้"
+"WebDAV Authentication" => "WebDAV Authentication"
);
diff --git a/apps/user_webdavauth/l10n/tr.php b/apps/user_webdavauth/l10n/tr.php
index 06bf97c4b03d37c19e4ccacf8369f83d3a750640..fc593631785fa706e2a5c4bdf9cb8eb55bd360de 100644
--- a/apps/user_webdavauth/l10n/tr.php
+++ b/apps/user_webdavauth/l10n/tr.php
@@ -1,4 +1,3 @@
"WebDAV Kimlik doğrulaması",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud deneyme kullanicin URLe gonderecek. Bu toplan cepaplama muayene edecek ve status kodeci HTTPden 401 ve 403 deneyi gecerli ve hepsi baska cevaplamari mantekli gibi yorumlacak. "
+"WebDAV Authentication" => "WebDAV Kimlik doğrulaması"
);
diff --git a/apps/user_webdavauth/l10n/uk.php b/apps/user_webdavauth/l10n/uk.php
index 2f4d3c95da32376077b9b93c0d4253856bdd0c11..ade36d140f3fccb825021e69d6aa342ed08ec0e1 100644
--- a/apps/user_webdavauth/l10n/uk.php
+++ b/apps/user_webdavauth/l10n/uk.php
@@ -1,4 +1,3 @@
"Аутентифікація WebDAV",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud надішле облікові дані на цей URL. Цей плагін перевірить відповідь і буде інтерпретувати HTTP коди 401 і 403 як повідомлення про недійсні повноваження, а решту відповідей як дійсні облікові дані."
+"WebDAV Authentication" => "Аутентифікація WebDAV"
);
diff --git a/apps/user_webdavauth/l10n/vi.php b/apps/user_webdavauth/l10n/vi.php
index 53f1e1c4209914c6778c3682c5a327b5eae81060..137362b95f5e5877a7be257676e169efc038ef75 100644
--- a/apps/user_webdavauth/l10n/vi.php
+++ b/apps/user_webdavauth/l10n/vi.php
@@ -1,4 +1,3 @@
"Xác thực WebDAV",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud sẽ gửi chứng thư người dùng tới URL này. Tính năng này kiểm tra trả lời và sẽ hiểu mã 401 và 403 của giao thức HTTP là chứng thư không hợp lệ, và mọi trả lời khác được coi là hợp lệ."
+"WebDAV Authentication" => "Xác thực WebDAV"
);
diff --git a/apps/user_webdavauth/l10n/zh_CN.php b/apps/user_webdavauth/l10n/zh_CN.php
index ee4b88c6b49509dd21d03cb34f26966d7c3ad1db..f23a692a811d777d27f15be539a96bef9b34d714 100644
--- a/apps/user_webdavauth/l10n/zh_CN.php
+++ b/apps/user_webdavauth/l10n/zh_CN.php
@@ -1,5 +1,3 @@
"WebDAV 认证",
-"URL: " => "地址:",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud 将会发送用户的身份到此 URL。这个插件检查返回值并且将 HTTP 状态编码 401 和 403 解释为非法身份,其他所有返回值为合法身份。"
+"WebDAV Authentication" => "WebDAV 认证"
);
diff --git a/apps/user_webdavauth/l10n/zh_TW.php b/apps/user_webdavauth/l10n/zh_TW.php
index 32166b04751f45b37b86de7213bb8f033cf51966..5e8cab265715b76de6bb4836b752b004f479f5ad 100644
--- a/apps/user_webdavauth/l10n/zh_TW.php
+++ b/apps/user_webdavauth/l10n/zh_TW.php
@@ -1,4 +1,3 @@
"WebDAV 認證",
-"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud 會將把用戶的登入資訊發送到這個網址以嘗試登入,並檢查回應, HTTP 狀態碼401和403視為登入失敗,所有其他回應視為登入成功。"
+"WebDAV Authentication" => "WebDAV 認證"
);
diff --git a/apps/user_webdavauth/templates/settings.php b/apps/user_webdavauth/templates/settings.php
index e199c32675c5c198fee0395e876ce4668136f0bc..70c10057c20caeb81f2d65f59580ece30cbb57c5 100755
--- a/apps/user_webdavauth/templates/settings.php
+++ b/apps/user_webdavauth/templates/settings.php
@@ -1,9 +1,9 @@
diff --git a/autotest.sh b/autotest.sh
index 141b4333f9725a69c5ca9adfba4d281fec3bc893..a343f6a25ab7bb887b2d1135614e9229316315e3 100755
--- a/autotest.sh
+++ b/autotest.sh
@@ -3,12 +3,24 @@
# ownCloud
#
# @author Thomas Müller
-# @copyright 2012 Thomas Müller thomas.mueller@tmit.eu
+# @copyright 2012, 2013 Thomas Müller thomas.mueller@tmit.eu
#
-DATADIR=data-autotest
+#$EXECUTOR_NUMBER is set by Jenkins and allows us to run autotest in parallel
+DATABASENAME=oc_autotest$EXECUTOR_NUMBER
+DATABASEUSER=oc_autotest$EXECUTOR_NUMBER
+ADMINLOGIN=admin$EXECUTOR_NUMBER
BASEDIR=$PWD
+# use tmpfs for datadir - should speedup unit test execution
+if [ -d /dev/shm ]; then
+ DATADIR=/dev/shm/data-autotest$EXECUTOR_NUMBER
+else
+ DATADIR=$BASEDIR/data-autotest
+fi
+
+echo "Using database $DATABASENAME"
+
# create autoconfig for sqlite, mysql and postgresql
cat > ./tests/autoconfig-sqlite.php < |
---|