diff options
Diffstat (limited to 'lib')
81 files changed, 523 insertions, 135 deletions
diff --git a/lib/base.php b/lib/base.php index f3983a3800f..2feedd81d8c 100644 --- a/lib/base.php +++ b/lib/base.php @@ -178,11 +178,19 @@ class OC { if (file_exists(OC::$SERVERROOT . "/config/config.php") and !is_writable(OC::$SERVERROOT . "/config/config.php")) { $defaults = new OC_Defaults(); - OC_Template::printErrorPage( - "Can't write into config directory!", - 'This can usually be fixed by ' - .'<a href="' . \OC_Helper::linkToDocs('admin-dir_permissions') . '" target="_blank">giving the webserver write access to the config directory</a>.' - ); + if (self::$CLI) { + echo "Can't write into config directory!\n"; + echo "This can usually be fixed by giving the webserver write access to the config directory\n"; + echo "\n"; + echo "See " . \OC_Helper::linkToDocs('admin-dir_permissions') . "\n"; + exit; + } else { + OC_Template::printErrorPage( + "Can't write into config directory!", + 'This can usually be fixed by ' + .'<a href="' . \OC_Helper::linkToDocs('admin-dir_permissions') . '" target="_blank">giving the webserver write access to the config directory</a>.' + ); + } } } @@ -230,6 +238,22 @@ class OC { } } + public static function checkSingleUserMode() { + $user = OC_User::getUserSession()->getUser(); + $group = OC_Group::getManager()->get('admin'); + if ($user && OC_Config::getValue('singleuser', false) && !$group->inGroup($user)) { + // send http status 503 + header('HTTP/1.1 503 Service Temporarily Unavailable'); + header('Status: 503 Service Temporarily Unavailable'); + header('Retry-After: 120'); + + // render error page + $tmpl = new OC_Template('', 'singleuser.user', 'guest'); + $tmpl->printPage(); + die(); + } + } + public static function checkUpgrade($showTemplate = true) { if (OC_Config::getValue('installed', false)) { $installedVersion = OC_Config::getValue('version', '0.0.0'); @@ -241,7 +265,7 @@ class OC { $minimizerCSS->clearCache(); $minimizerJS = new OC_Minimizer_JS(); $minimizerJS->clearCache(); - OC_Util::addscript('update'); + OC_Util::addScript('update'); $tmpl = new OC_Template('', 'update.admin', 'guest'); $tmpl->assign('version', OC_Util::getVersionString()); $tmpl->printPage(); @@ -480,7 +504,14 @@ class OC { $errors = OC_Util::checkServer(); if (count($errors) > 0) { - OC_Template::printGuestPage('', 'error', array('errors' => $errors)); + if (self::$CLI) { + foreach ($errors as $error) { + echo $error['error']."\n"; + echo $error['hint'] . "\n\n"; + } + } else { + OC_Template::printGuestPage('', 'error', array('errors' => $errors)); + } exit; } @@ -559,12 +590,6 @@ class OC { } } - // write error into log if locale can't be set - if (OC_Util::isSetLocaleWorking() == false) { - OC_Log::write('core', - 'setting locale to en_US.UTF-8/en_US.UTF8 failed. Support is probably not installed on your system', - OC_Log::ERROR); - } if (OC_Config::getValue('installed', false) && !self::checkUpgrade(false)) { if (OC_Appconfig::getValue('core', 'backgroundjobs_mode', 'ajax') == 'ajax') { OC_Util::addScript('backgroundjobs'); @@ -658,11 +683,12 @@ class OC { // Test it the user is already authenticated using Apaches AuthType Basic... very usable in combination with LDAP OC::tryBasicAuthLogin(); - if (!self::$CLI) { + if (!self::$CLI and (!isset($_GET["logout"]) or ($_GET["logout"] !== 'true'))) { try { if (!OC_Config::getValue('maintenance', false)) { OC_App::loadApps(); } + self::checkSingleUserMode(); OC::getRouter()->match(OC_Request::getRawPathInfo()); return; } catch (Symfony\Component\Routing\Exception\ResourceNotFoundException $e) { diff --git a/lib/l10n/ca.php b/lib/l10n/ca.php index f0cbe6a5a07..01457275cf2 100644 --- a/lib/l10n/ca.php +++ b/lib/l10n/ca.php @@ -16,7 +16,6 @@ $TRANSLATIONS = array( "Files need to be downloaded one by one." => "Els fitxers s'han de baixar d'un en un.", "Back to Files" => "Torna a Fitxers", "Selected files too large to generate zip file." => "Els fitxers seleccionats son massa grans per generar un fitxer zip.", -"Download the files in smaller chunks, seperately or kindly ask your administrator." => "Baixeu els fitxers en trossos petits, de forma separada, o pregunteu a l'administrador.", "No source specified when installing app" => "No heu especificat la font en instalยทlar l'aplicaciรณ", "No href specified when installing app from http" => "No heu especificat href en instalยทlar l'aplicaciรณ des de http", "No path specified when installing app from local file" => "No heu seleccionat el camรญ en instalยทlar una aplicaciรณ des d'un fitxer local", diff --git a/lib/l10n/cs_CZ.php b/lib/l10n/cs_CZ.php index 0b09997ee2f..0e44dd2a4bd 100644 --- a/lib/l10n/cs_CZ.php +++ b/lib/l10n/cs_CZ.php @@ -16,7 +16,6 @@ $TRANSLATIONS = array( "Files need to be downloaded one by one." => "Soubory musรญ bรฝt stahovรกny jednotlivฤ.", "Back to Files" => "Zpฤt k souborลฏm", "Selected files too large to generate zip file." => "Vybranรฉ soubory jsou pลรญliลก velkรฉ pro vytvoลenรญ ZIP souboru.", -"Download the files in smaller chunks, seperately or kindly ask your administrator." => "Stรกhnฤte soubory po menลกรญch ฤรกstech, samostatnฤ, nebo se obraลฅte na sprรกvce.", "No source specified when installing app" => "Nebyl zadรกn zdroj pลi instalaci aplikace", "No href specified when installing app from http" => "Nebyl zadรกn odkaz pro instalaci aplikace z HTTP", "No path specified when installing app from local file" => "Nebyla zadรกna cesta pro instalaci aplikace z mรญstnรญho souboru", diff --git a/lib/l10n/da.php b/lib/l10n/da.php index bf233e0338d..f95aa30d7a0 100644 --- a/lib/l10n/da.php +++ b/lib/l10n/da.php @@ -16,7 +16,6 @@ $TRANSLATIONS = array( "Files need to be downloaded one by one." => "Filer skal downloades en for en.", "Back to Files" => "Tilbage til Filer", "Selected files too large to generate zip file." => "De markerede filer er for store til at generere en ZIP-fil.", -"Download the files in smaller chunks, seperately or kindly ask your administrator." => "Download filerne i smรฅ bider, seperat, eller kontakt venligst din administrator.", "No source specified when installing app" => "Ingen kilde angivet under installation af app", "No href specified when installing app from http" => "Ingen href angivet under installation af app via http", "No path specified when installing app from local file" => "Ingen sti angivet under installation af app fra lokal fil", diff --git a/lib/l10n/de.php b/lib/l10n/de.php index 84543fa75d2..5b09d350a7d 100644 --- a/lib/l10n/de.php +++ b/lib/l10n/de.php @@ -16,7 +16,7 @@ $TRANSLATIONS = array( "Files need to be downloaded one by one." => "Die Dateien mรผssen einzeln heruntergeladen werden.", "Back to Files" => "Zurรผck zu \"Dateien\"", "Selected files too large to generate zip file." => "Die gewรคhlten Dateien sind zu groร, um eine ZIP-Datei zu erstellen.", -"Download the files in smaller chunks, seperately or kindly ask your administrator." => "Lade die Dateien in kleineren, separaten, Stรผcken herunter oder bitte deinen Administrator.", +"Please download the files separately in smaller chunks or kindly ask your administrator." => "Bitte lade die Dateien einzeln in kleineren Teilen herunter oder bitte Deinen Administrator.", "No source specified when installing app" => "Fรผr die Installation der Applikation wurde keine Quelle angegeben", "No href specified when installing app from http" => "Der Link (href) wurde nicht angegeben um die Applikation per http zu installieren", "No path specified when installing app from local file" => "Bei der Installation der Applikation aus einer lokalen Datei wurde kein Pfad angegeben", diff --git a/lib/l10n/de_CH.php b/lib/l10n/de_CH.php index c4f06520b50..502791ff578 100644 --- a/lib/l10n/de_CH.php +++ b/lib/l10n/de_CH.php @@ -14,7 +14,6 @@ $TRANSLATIONS = array( "Files need to be downloaded one by one." => "Die Dateien mรผssen einzeln heruntergeladen werden.", "Back to Files" => "Zurรผck zu \"Dateien\"", "Selected files too large to generate zip file." => "Die gewรคhlten Dateien sind zu gross, um eine ZIP-Datei zu erstellen.", -"Download the files in smaller chunks, seperately or kindly ask your administrator." => "Laden Sie die Dateien in kleineren, separaten, Stรผcken herunter oder bitten Sie Ihren Administrator.", "App can't be installed because of not allowed code in the App" => "Anwendung kann wegen nicht erlaubten Codes nicht installiert werden", "App directory already exists" => "Anwendungsverzeichnis existiert bereits", "Application is not enabled" => "Die Anwendung ist nicht aktiviert", diff --git a/lib/l10n/de_DE.php b/lib/l10n/de_DE.php index a84b954eb44..e76718b4117 100644 --- a/lib/l10n/de_DE.php +++ b/lib/l10n/de_DE.php @@ -16,7 +16,7 @@ $TRANSLATIONS = array( "Files need to be downloaded one by one." => "Die Dateien mรผssen einzeln heruntergeladen werden.", "Back to Files" => "Zurรผck zu \"Dateien\"", "Selected files too large to generate zip file." => "Die gewรคhlten Dateien sind zu groร, um eine ZIP-Datei zu erstellen.", -"Download the files in smaller chunks, seperately or kindly ask your administrator." => "Laden Sie die Dateien in kleineren, separaten, Stรผcken herunter oder bitten Sie Ihren Administrator.", +"Please download the files separately in smaller chunks or kindly ask your administrator." => "Bitte laden Sie die Dateien einzeln in kleineren Teilen herunter oder bitten Sie Ihren Administrator.", "No source specified when installing app" => "Fรผr die Installation der Applikation wurde keine Quelle angegeben", "No href specified when installing app from http" => "Der Link (href) wurde nicht angegeben um die Applikation per http zu installieren", "No path specified when installing app from local file" => "Bei der Installation der Applikation aus einer lokalen Datei wurde kein Pfad angegeben", diff --git a/lib/l10n/el.php b/lib/l10n/el.php index aed5e052a8e..d536b699a9e 100644 --- a/lib/l10n/el.php +++ b/lib/l10n/el.php @@ -14,7 +14,6 @@ $TRANSLATIONS = array( "Files need to be downloaded one by one." => "ฮคฮฑ ฮฑฯฯฮตฮฏฮฑ ฯฯฮญฯฮตฮน ฮฝฮฑ ฮปฮทฯฮธฮฟฯฮฝ ฮญฮฝฮฑ-ฮญฮฝฮฑ.", "Back to Files" => "ฮ ฮฏฯฯ ฯฯฮฑ ฮฯฯฮตฮฏฮฑ", "Selected files too large to generate zip file." => "ฮคฮฑ ฮตฯฮนฮปฮตฮณฮผฮญฮฝฮฑ ฮฑฯฯฮตฮฏฮฑ ฮตฮฏฮฝฮฑฮน ฮผฮตฮณฮฌฮปฮฑ ฯฯฯฮต ฮฝฮฑ ฮดฮทฮผฮนฮฟฯ
ฯฮณฮทฮธฮตฮฏ ฮฑฯฯฮตฮฏฮฟ zip.", -"Download the files in smaller chunks, seperately or kindly ask your administrator." => "ฮฮฎฯฮท ฯฯฮฝ ฮฑฯฯฮตฮฏฯฮฝ ฯฮต ฮผฮนฮบฯฯฯฮตฯฮฑ ฮบฮฟฮผฮผฮฌฯฮนฮฑ, ฯฯฯฮนฯฯฮฌ ฮฎ ฯฯฯฮฎฯฯฮต ฯฮฟฮฝ ฮดฮนฮฑฯฮตฮนฯฮนฯฯฮฎ ฯฮฑฯ.", "Application is not enabled" => "ฮฮตฮฝ ฮตฮฝฮตฯฮณฮฟฯฮฟฮนฮฎฮธฮทฮบฮต ฮท ฮตฯฮฑฯฮผฮฟฮณฮฎ", "Authentication error" => "ฮฃฯฮฌฮปฮผฮฑ ฯฮนฯฯฮฟฯฮฟฮฏฮทฯฮทฯ", "Token expired. Please reload page." => "ฮคฮฟ ฮฑฮฝฮฑฮณฮฝฯฯฮนฯฯฮนฮบฯ ฮญฮปฮทฮพฮต. ฮ ฮฑฯฮฑฮบฮฑฮปฯ ฯฮฟฯฯฯฯฯฮต ฮพฮฑฮฝฮฌ ฯฮทฮฝ ฯฮตฮปฮฏฮดฮฑ.", @@ -43,7 +42,7 @@ $TRANSLATIONS = array( "Please double check the <a href='%s'>installation guides</a>." => "ฮฮปฮญฮณฮพฯฮต ฮพฮฑฮฝฮฌ ฯฮนฯ <a href='%s'>ฮฟฮดฮทฮณฮฏฮตฯ ฮตฮณฮบฮฑฯฮฌฯฯฮฑฯฮทฯ</a>.", "Could not find category \"%s\"" => "ฮฮดฯ
ฮฝฮฑฮผฮฏฮฑ ฮตฯฯฮตฯฮทฯ ฮบฮฑฯฮทฮณฮฟฯฮฏฮฑฯ \"%s\"", "seconds ago" => "ฮดฮตฯ
ฯฮตฯฯฮปฮตฯฯฮฑ ฯฯฮนฮฝ", -"_%n minute ago_::_%n minutes ago_" => array("",""), +"_%n minute ago_::_%n minutes ago_" => array("","%n ฮปฮตฯฯฮฌ ฯฯฮนฮฝ"), "_%n hour ago_::_%n hours ago_" => array("",""), "today" => "ฯฮฎฮผฮตฯฮฑ", "yesterday" => "ฯฯฮตฯ", diff --git a/lib/l10n/en_GB.php b/lib/l10n/en_GB.php index 73697d101c1..295700d234a 100644 --- a/lib/l10n/en_GB.php +++ b/lib/l10n/en_GB.php @@ -16,7 +16,7 @@ $TRANSLATIONS = array( "Files need to be downloaded one by one." => "Files need to be downloaded one by one.", "Back to Files" => "Back to Files", "Selected files too large to generate zip file." => "Selected files too large to generate zip file.", -"Download the files in smaller chunks, seperately or kindly ask your administrator." => "Download the files in smaller chunks, seperately or kindly ask your administrator.", +"Please download the files separately in smaller chunks or kindly ask your administrator." => "Please download the files separately in smaller chunks or kindly ask your administrator.", "No source specified when installing app" => "No source specified when installing app", "No href specified when installing app from http" => "No href specified when installing app from http", "No path specified when installing app from local file" => "No path specified when installing app from local file", diff --git a/lib/l10n/es.php b/lib/l10n/es.php index 7e56e31aeaf..8e79c9f1059 100644 --- a/lib/l10n/es.php +++ b/lib/l10n/es.php @@ -16,7 +16,6 @@ $TRANSLATIONS = array( "Files need to be downloaded one by one." => "Los archivos deben ser descargados uno por uno.", "Back to Files" => "Volver a Archivos", "Selected files too large to generate zip file." => "Los archivos seleccionados son demasiado grandes para generar el archivo zip.", -"Download the files in smaller chunks, seperately or kindly ask your administrator." => "Descargue los archivos en trozos mรกs pequeรฑos, por separado o solicรญtelos amablemente su administrador.", "No source specified when installing app" => "No se ha especificado origen cuando se ha instalado la aplicaciรณn", "No href specified when installing app from http" => "No href especificado cuando se ha instalado la aplicaciรณn", "No path specified when installing app from local file" => "Sin path especificado cuando se ha instalado la aplicaciรณn desde el fichero local", diff --git a/lib/l10n/es_AR.php b/lib/l10n/es_AR.php index 4e65755ba87..e2c771d47ad 100644 --- a/lib/l10n/es_AR.php +++ b/lib/l10n/es_AR.php @@ -16,7 +16,6 @@ $TRANSLATIONS = array( "Files need to be downloaded one by one." => "Los archivos deben ser descargados de a uno.", "Back to Files" => "Volver a Archivos", "Selected files too large to generate zip file." => "Los archivos seleccionados son demasiado grandes para generar el archivo zip.", -"Download the files in smaller chunks, seperately or kindly ask your administrator." => "Descargรก los archivos en partes mรกs chicas, de forma separada, o pedรญselos al administrador", "No source specified when installing app" => "No se especificรณ el origen al instalar la app", "No href specified when installing app from http" => "No se especificรณ href al instalar la app", "No path specified when installing app from local file" => "No se especificรณ PATH al instalar la app desde el archivo local", diff --git a/lib/l10n/et_EE.php b/lib/l10n/et_EE.php index e307979fa74..7340ee72c28 100644 --- a/lib/l10n/et_EE.php +++ b/lib/l10n/et_EE.php @@ -16,7 +16,7 @@ $TRANSLATIONS = array( "Files need to be downloaded one by one." => "Failid tuleb alla laadida รผkshaaval.", "Back to Files" => "Tagasi failide juurde", "Selected files too large to generate zip file." => "Valitud failid on ZIP-faili loomiseks liiga suured.", -"Download the files in smaller chunks, seperately or kindly ask your administrator." => "Laadi failid alla eraldi vรคiksemate osadena vรตi kรผsi nรตu oma sรผsteemiadminstraatorilt.", +"Please download the files separately in smaller chunks or kindly ask your administrator." => "Palun laadi failid alla eraldi vรคiksemate osadena vรตi palu abi oma sรผsteemihaldurilt.", "No source specified when installing app" => "รhegi lรคhteallikat pole rakendi paigalduseks mรครคratletud", "No href specified when installing app from http" => "รhtegi aadressi pole mรครคratletud rakendi paigalduseks veebist", "No path specified when installing app from local file" => "รhtegi teed pole mรครคratletud paigaldamaks rakendit kohalikust failist", diff --git a/lib/l10n/eu.php b/lib/l10n/eu.php index 9758fdd1f32..f28a77eeb03 100644 --- a/lib/l10n/eu.php +++ b/lib/l10n/eu.php @@ -12,7 +12,6 @@ $TRANSLATIONS = array( "Files need to be downloaded one by one." => "Fitxategiak banan-banan deskargatu behar dira.", "Back to Files" => "Itzuli fitxategietara", "Selected files too large to generate zip file." => "Hautatuko fitxategiak oso handiak dira zip fitxategia sortzeko.", -"Download the files in smaller chunks, seperately or kindly ask your administrator." => "Deskargatu fitzategiak zati txikiagoetan, banan-banan edo eskatu mesedez zure administradoreari", "Application is not enabled" => "Aplikazioa ez dago gaituta", "Authentication error" => "Autentifikazio errorea", "Token expired. Please reload page." => "Tokena iraungitu da. Mesedez birkargatu orria.", diff --git a/lib/l10n/fr.php b/lib/l10n/fr.php index 895daa5b452..c9767565b18 100644 --- a/lib/l10n/fr.php +++ b/lib/l10n/fr.php @@ -16,7 +16,6 @@ $TRANSLATIONS = array( "Files need to be downloaded one by one." => "Les fichiers nรฉcessitent d'รชtre tรฉlรฉchargรฉs un par un.", "Back to Files" => "Retour aux Fichiers", "Selected files too large to generate zip file." => "Les fichiers sรฉlectionnรฉs sont trop volumineux pour รชtre compressรฉs.", -"Download the files in smaller chunks, seperately or kindly ask your administrator." => "Tรฉlรฉcharger les fichiers en parties plus petites, sรฉparรฉment ou demander avec bienveillance ร votre administrateur.", "No source specified when installing app" => "Aucune source spรฉcifiรฉe pour installer l'application", "No href specified when installing app from http" => "Aucun href spรฉcifiรฉ pour installer l'application par http", "No path specified when installing app from local file" => "Aucun chemin spรฉcifiรฉ pour installer l'application depuis un fichier local", diff --git a/lib/l10n/gl.php b/lib/l10n/gl.php index 72ee66b6f57..cf13408b2cd 100644 --- a/lib/l10n/gl.php +++ b/lib/l10n/gl.php @@ -16,7 +16,7 @@ $TRANSLATIONS = array( "Files need to be downloaded one by one." => "Os ficheiros necesitan seren descargados dun en un.", "Back to Files" => "Volver aos ficheiros", "Selected files too large to generate zip file." => "Os ficheiros seleccionados son demasiado grandes como para xerar un ficheiro zip.", -"Download the files in smaller chunks, seperately or kindly ask your administrator." => "Descargue os ficheiros en cachos mรกis pequenos e por separado, ou pรญdallos amabelmente ao seu administrador.", +"Please download the files separately in smaller chunks or kindly ask your administrator." => "Descargue os ficheiros en fragmentos mรกis pequenos e por separado, ou pรญdallos amabelmente ao seu administrador.", "No source specified when installing app" => "Non foi especificada ningunha orixe ao instalar aplicativos", "No href specified when installing app from http" => "Non foi especificada ningunha href ao instalar aplicativos", "No path specified when installing app from local file" => "Non foi especificada ningunha ruta ao instalar aplicativos desde un ficheiro local", diff --git a/lib/l10n/hu_HU.php b/lib/l10n/hu_HU.php index cf1e6c2f100..0d91b70b51a 100644 --- a/lib/l10n/hu_HU.php +++ b/lib/l10n/hu_HU.php @@ -16,7 +16,6 @@ $TRANSLATIONS = array( "Files need to be downloaded one by one." => "A fรกjlokat egyenkรฉnt kell letรถlteni.", "Back to Files" => "Vissza a Fรกjlokhoz", "Selected files too large to generate zip file." => "A kivรกlasztott fรกjlok tรบl nagyok a zip tรถmรถrรญtรฉshez.", -"Download the files in smaller chunks, seperately or kindly ask your administrator." => "Tรถlts le a fileokat kisebb chunkokban, kรถlรผn vagy kรฉrj segitsรฉget a rendszergazdรกdtรณl.", "No source specified when installing app" => "Az alkalmazรกs telepรญtรฉsรฉhez nincs forrรกs megadva", "No href specified when installing app from http" => "Az alkalmazรกs http-n keresztรผl tรถrtรฉnล telepรญtรฉsรฉhez nincs href hivetkozรกs megadva", "No path specified when installing app from local file" => "Az alkalmazรกs helyi telepรญtรฉsรฉhez nincs รบtvonal (mappa) megadva", diff --git a/lib/l10n/it.php b/lib/l10n/it.php index 240442d396d..b1259a0a874 100644 --- a/lib/l10n/it.php +++ b/lib/l10n/it.php @@ -16,7 +16,7 @@ $TRANSLATIONS = array( "Files need to be downloaded one by one." => "I file devono essere scaricati uno alla volta.", "Back to Files" => "Torna ai file", "Selected files too large to generate zip file." => "I file selezionati sono troppo grandi per generare un file zip.", -"Download the files in smaller chunks, seperately or kindly ask your administrator." => "Scarica i file in blocchi piรน piccoli, separatamente o chiedi al tuo amministratore.", +"Please download the files separately in smaller chunks or kindly ask your administrator." => "Scarica i file separatamente in blocchi piรน piccoli o chiedi al tuo amministratore.", "No source specified when installing app" => "Nessuna fonte specificata durante l'installazione dell'applicazione", "No href specified when installing app from http" => "Nessun href specificato durante l'installazione dell'applicazione da http", "No path specified when installing app from local file" => "Nessun percorso specificato durante l'installazione dell'applicazione da file locale", diff --git a/lib/l10n/ja_JP.php b/lib/l10n/ja_JP.php index f156c68715c..f7af9b592ad 100644 --- a/lib/l10n/ja_JP.php +++ b/lib/l10n/ja_JP.php @@ -16,7 +16,6 @@ $TRANSLATIONS = array( "Files need to be downloaded one by one." => "ใใกใคใซใฏ1ใคใใคใใฆใณใญใผใใใๅฟ
่ฆใใใใพใใ", "Back to Files" => "ใใกใคใซใซๆปใ", "Selected files too large to generate zip file." => "้ธๆใใใใกใคใซใฏZIPใใกใคใซใฎ็ๆใซใฏๅคงใใใใพใใ", -"Download the files in smaller chunks, seperately or kindly ask your administrator." => "ใใกใคใซใฏใๅฐใใใใกใคใซใซๅๅฒใใใฆใใฆใณใญใผใใใใพใใใใใใฏใ็ฎก็่
ใซใๅฐใญใใ ใใใ", "No source specified when installing app" => "ใขใใชใคใณในใใผใซๆใฎใฝใผในใๆชๆๅฎ", "No href specified when installing app from http" => "ใขใใชใคใณในใใผใซๆใฎhttpใฎ URL ใๆชๆๅฎ", "No path specified when installing app from local file" => "ใขใใชใคใณในใใผใซๆใฎใญใผใซใซใใกใคใซใฎใในใๆชๆๅฎ", diff --git a/lib/l10n/ko.php b/lib/l10n/ko.php index 297e7ac5805..102bf9f978d 100644 --- a/lib/l10n/ko.php +++ b/lib/l10n/ko.php @@ -16,7 +16,6 @@ $TRANSLATIONS = array( "Files need to be downloaded one by one." => "ํ์ผ์ ๊ฐ๋ณ์ ์ผ๋ก ๋ค์ด๋ก๋ํด์ผ ํฉ๋๋ค.", "Back to Files" => "ํ์ผ๋ก ๋์๊ฐ๊ธฐ", "Selected files too large to generate zip file." => "์ ํํ ํ์ผ๋ค์ ZIP ํ์ผ์ ์์ฑํ๊ธฐ์ ๋๋ฌด ํฝ๋๋ค.", -"Download the files in smaller chunks, seperately or kindly ask your administrator." => "์์ ์กฐ๊ฐ๋ค ์์ ๋ค์ด์๋ ํ์ผ๋ค์ ๋ฐ๊ณ ์ ํ์ ๋ค๋ฉด, ๋๋์ด์ ๋ฐ์ผ์๊ฑฐ๋ ํน์ ์์คํ
๊ด๋ฆฌ์์๊ฒ ์ ์คํ๊ฒ ๋ฌผ์ด๋ณด์ญ์์ค", "No source specified when installing app" => "์ฑ์ ์ค์นํ ๋ ์์ค๊ฐ ์ง์ ๋์ง ์์์ต๋๋ค.", "No href specified when installing app from http" => "http์์ ์ฑ์ ์ค์นํ ๋ href๊ฐ ์ง์ ๋์ง ์์์ต๋๋ค.", "No path specified when installing app from local file" => "๋ก์ปฌ ํ์ผ์์ ์ฑ์ ์ค์นํ ๋ ๊ฒฝ๋ก๊ฐ ์ง์ ๋์ง ์์์ต๋๋ค.", diff --git a/lib/l10n/lt_LT.php b/lib/l10n/lt_LT.php index e322c9141d8..9c4eccd9d62 100644 --- a/lib/l10n/lt_LT.php +++ b/lib/l10n/lt_LT.php @@ -16,7 +16,6 @@ $TRANSLATIONS = array( "Files need to be downloaded one by one." => "Failai turi bลซti parsiunฤiami vienas po kito.", "Back to Files" => "Atgal ฤฏ Failus", "Selected files too large to generate zip file." => "Pasirinkti failai per dideli archyvavimui ฤฏ ZIP.", -"Download the files in smaller chunks, seperately or kindly ask your administrator." => "Atsisiลณskite failus maลพesnฤmis dalimis atskirai, arba mandagiai praลกykite savo administratoriaus.", "No source specified when installing app" => "Nenurodytas ลกaltinis diegiant programฤ
", "No href specified when installing app from http" => "Nenurodytas href diegiant programฤ
iลก http", "No path specified when installing app from local file" => "Nenurodytas kelias diegiant programฤ
iลก vietinio failo", diff --git a/lib/l10n/lv.php b/lib/l10n/lv.php index cf96c4c4ab8..ef5fd2d5ca8 100644 --- a/lib/l10n/lv.php +++ b/lib/l10n/lv.php @@ -12,7 +12,6 @@ $TRANSLATIONS = array( "Files need to be downloaded one by one." => "Datnes var lejupielฤdฤt tikai katru atseviลกฤทi.", "Back to Files" => "Atpakaฤผ pie datnฤm", "Selected files too large to generate zip file." => "Izvฤlฤtฤs datnes ir pฤrฤk lielas, lai izveidotu zip datni.", -"Download the files in smaller chunks, seperately or kindly ask your administrator." => "Lejupielฤdฤjiet savus failus mazฤkฤs daฤผฤs, atseviลกฤทi vai palลซdziet tos administratoram.", "Application is not enabled" => "Lietotne nav aktivฤta", "Authentication error" => "Autentifikฤcijas kฤผลซda", "Token expired. Please reload page." => "Pilnvarai ir beidzies termiลลก. Lลซdzu, pฤrlฤdฤjiet lapu.", diff --git a/lib/l10n/nl.php b/lib/l10n/nl.php index 91ce25c13cc..d3a94d20f54 100644 --- a/lib/l10n/nl.php +++ b/lib/l10n/nl.php @@ -16,7 +16,6 @@ $TRANSLATIONS = array( "Files need to be downloaded one by one." => "Bestanden moeten รฉรฉn voor รฉรฉn worden gedownload.", "Back to Files" => "Terug naar bestanden", "Selected files too large to generate zip file." => "De geselecteerde bestanden zijn te groot om een zip bestand te maken.", -"Download the files in smaller chunks, seperately or kindly ask your administrator." => "Download de bestanden in kleinere brokken, appart of vraag uw administrator.", "No source specified when installing app" => "Geen bron opgegeven bij installatie van de app", "No href specified when installing app from http" => "Geen href opgegeven bij installeren van de app vanaf http", "No path specified when installing app from local file" => "Geen pad opgegeven bij installeren van de app vanaf een lokaal bestand", diff --git a/lib/l10n/pl.php b/lib/l10n/pl.php index 72f01d784c4..82d4f753a81 100644 --- a/lib/l10n/pl.php +++ b/lib/l10n/pl.php @@ -16,7 +16,6 @@ $TRANSLATIONS = array( "Files need to be downloaded one by one." => "Pliki muszฤ
zostaฤ pobrane pojedynczo.", "Back to Files" => "Wrรณฤ do plikรณw", "Selected files too large to generate zip file." => "Wybrane pliki sฤ
zbyt duลผe, aby wygenerowaฤ plik zip.", -"Download the files in smaller chunks, seperately or kindly ask your administrator." => "Pobierz pliki w mniejszy kawaลkach, oddzielnie lub poproล administratora o zwiฤkszenie limitu.", "No source specified when installing app" => "Nie okreลlono ลบrรณdลa podczas instalacji aplikacji", "No href specified when installing app from http" => "Nie okreลlono linku skฤ
d aplikacja ma byฤ zainstalowana", "No path specified when installing app from local file" => "Nie okreลlono lokalnego pliku z ktรณrego miaลa byฤ instalowana aplikacja", diff --git a/lib/l10n/pt_BR.php b/lib/l10n/pt_BR.php index 784f9fe9f66..d6912f07110 100644 --- a/lib/l10n/pt_BR.php +++ b/lib/l10n/pt_BR.php @@ -16,7 +16,7 @@ $TRANSLATIONS = array( "Files need to be downloaded one by one." => "Arquivos precisam ser baixados um de cada vez.", "Back to Files" => "Voltar para Arquivos", "Selected files too large to generate zip file." => "Arquivos selecionados sรฃo muito grandes para gerar arquivo zip.", -"Download the files in smaller chunks, seperately or kindly ask your administrator." => "Baixe os arquivos em pedaรงos menores, separadamente ou solicite educadamente ao seu administrador.", +"Please download the files separately in smaller chunks or kindly ask your administrator." => "Por favor baixe os arquivos separadamente em pedaรงos ou educadamente pergunte ao seu administrador.", "No source specified when installing app" => "Nenhuma fonte foi especificada enquanto instalava o aplicativo", "No href specified when installing app from http" => "Nenhuma href foi especificada enquanto instalava o aplicativo de httml", "No path specified when installing app from local file" => "Nenhum caminho foi especificado enquanto instalava o aplicativo do arquivo local", diff --git a/lib/l10n/pt_PT.php b/lib/l10n/pt_PT.php index 44b5f0831e4..2b12b4d8a17 100644 --- a/lib/l10n/pt_PT.php +++ b/lib/l10n/pt_PT.php @@ -16,7 +16,6 @@ $TRANSLATIONS = array( "Files need to be downloaded one by one." => "Os ficheiros precisam de ser descarregados um por um.", "Back to Files" => "Voltar a Ficheiros", "Selected files too large to generate zip file." => "Os ficheiros seleccionados sรฃo grandes demais para gerar um ficheiro zip.", -"Download the files in smaller chunks, seperately or kindly ask your administrator." => "Descarregue os ficheiros em partes menores, separados ou peรงa gentilmente ao seu administrador.", "Archives of type %s are not supported" => "Arquivos do tipo %s nรฃo sรฃo suportados", "App does not provide an info.xml file" => "A aplicaรงรฃo nรฃo disponibiliza um ficheiro info.xml", "App can't be installed because of not allowed code in the App" => "A aplicaรงรฃo nรฃo pode ser instalado devido a cรณdigo nรฃo permitido dentro da aplicaรงรฃo", diff --git a/lib/l10n/ru.php b/lib/l10n/ru.php index e77daa7dfdb..baf80cbf24e 100644 --- a/lib/l10n/ru.php +++ b/lib/l10n/ru.php @@ -16,7 +16,7 @@ $TRANSLATIONS = array( "Files need to be downloaded one by one." => "ะคะฐะนะปั ะดะพะปะถะฝั ะฑััั ะทะฐะณััะถะตะฝั ะฟะพ ะพะดะฝะพะผั.", "Back to Files" => "ะะฐะทะฐะด ะบ ัะฐะนะปะฐะผ", "Selected files too large to generate zip file." => "ะัะฑัะฐะฝะฝัะต ัะฐะนะปั ัะปะธัะบะพะผ ะฒะตะปะธะบะธ, ััะพะฑั ัะพะทะดะฐัั zip ัะฐะนะป.", -"Download the files in smaller chunks, seperately or kindly ask your administrator." => "ะะฐะณััะทะธัะต ัะฐะนะป ะผะฐะปะตะฝััะธะผะธ ะฟะพััะธัะผะธ, ัะฐะทะดะตะปัะฝะพ ะธะปะธ ะฒะตะถะปะธะฒะพ ะฟะพะฟัะพัะธัะต ะะฐัะตะณะพ ะฐะดะผะธะฝะธัััะฐัะพัะฐ.", +"Please download the files separately in smaller chunks or kindly ask your administrator." => "ะะฐะณััะทะธัะต ัะฐะนะปั ัะฐะทะดะตะปัะฝะพ ะผะฐะปะตะฝัะบะธะผะธ ัะฐัััะผะธ ะธะปะธ ะฒะตะถะปะธะฒะพ ะฟะพะฟัะพัะธัะต ะฒะฐัะตะณะพ ะฐะดะผะธะฝะธัััะฐัะพัะฐ.", "No source specified when installing app" => "ะะต ัะบะฐะทะฐะฝ ะธััะพัะฝะธะบ ะฟัะธ ัััะฐะฝะพะฒะบะต ะฟัะธะปะพะถะตะฝะธั", "No href specified when installing app from http" => "ะะต ัะบะฐะทะฐะฝ ะฐััะธะฑัั href ะฟัะธ ัััะฐะฝะพะฒะบะต ะฟัะธะปะพะถะตะฝะธั ัะตัะตะท http", "No path specified when installing app from local file" => "ะะต ัะบะฐะทะฐะฝ ะฟััั ะฟัะธ ัััะฐะฝะพะฒะบะต ะฟัะธะปะพะถะตะฝะธั ะธะท ะปะพะบะฐะปัะฝะพะณะพ ัะฐะนะปะฐ", diff --git a/lib/l10n/ru_RU.php b/lib/l10n/ru_RU.php index 622333c3855..23e900721e8 100644 --- a/lib/l10n/ru_RU.php +++ b/lib/l10n/ru_RU.php @@ -3,6 +3,7 @@ $TRANSLATIONS = array( "Help" => "ะะพะผะพัั", "Settings" => "ะะฐัััะพะนะบะธ", "Files" => "ะคะฐะนะปั", +"Text" => "ะขะตะบัั", "_%n minute ago_::_%n minutes ago_" => array("","",""), "_%n hour ago_::_%n hours ago_" => array("","",""), "_%n day go_::_%n days ago_" => array("","",""), diff --git a/lib/l10n/sk_SK.php b/lib/l10n/sk_SK.php index 8bb97e7e6c0..493374ade09 100644 --- a/lib/l10n/sk_SK.php +++ b/lib/l10n/sk_SK.php @@ -16,7 +16,6 @@ $TRANSLATIONS = array( "Files need to be downloaded one by one." => "Sรบbory musia byลฅ nahrรกvanรฉ jeden za druhรฝm.", "Back to Files" => "Spรคลฅ na sรบbory", "Selected files too large to generate zip file." => "Zvolenรฉ sรบbory sรบ prรญliลก veฤพkรฉ na vygenerovanie zip sรบboru.", -"Download the files in smaller chunks, seperately or kindly ask your administrator." => "Stiahnite sรบbory po menลกรญch ฤastiach, samostatne, alebo sa obrรกลฅte na sprรกvcu.", "No source specified when installing app" => "Neลกpecifikovanรฝ zdroj pri inลกtalรกcii aplikรกcie", "No href specified when installing app from http" => "Neลกpecifikovanรฝ atribรบt \"href\" pri inลกtalรกcii aplikรกcie pomocou protokolu \"http\"", "No path specified when installing app from local file" => "Neลกpecifikovanรก cesta pri inลกtalรกcii aplikรกcie z lokรกlneho sรบboru", diff --git a/lib/l10n/sl.php b/lib/l10n/sl.php index 0aee3cbfad6..56be601f54d 100644 --- a/lib/l10n/sl.php +++ b/lib/l10n/sl.php @@ -30,10 +30,10 @@ $TRANSLATIONS = array( "DB Error: \"%s\"" => "Napaka podatkovne zbirke: \"%s\"", "Offending command was: \"%s\"" => "Napaฤni ukaz je: \"%s\"", "MySQL user '%s'@'localhost' exists already." => "Uporabnik MySQL '%s'@'localhost' ลพe obstaja.", -"Drop this user from MySQL" => "Odstrani uporabnika s podatkovne zbirke MySQL", +"Drop this user from MySQL" => "Odstrani uporabnika iz podatkovne zbirke MySQL", "MySQL user '%s'@'%%' already exists" => "Uporabnik MySQL '%s'@'%%' ลพe obstaja.", -"Drop this user from MySQL." => "Odstrani uporabnika s podatkovne zbirke MySQL", -"Oracle connection could not be established" => "Povezava z bazo Oracle ni uspela.", +"Drop this user from MySQL." => "Odstrani uporabnika iz podatkovne zbirke MySQL", +"Oracle connection could not be established" => "Povezave s sistemom Oracle ni mogoฤe vzpostaviti.", "Oracle username and/or password not valid" => "Uporabniลกko ime ali geslo Oracle ni veljavno", "Offending command was: \"%s\", name: %s, password: %s" => "Napaฤni ukaz je: \"%s\", ime: %s, geslo: %s", "PostgreSQL username and/or password not valid" => "Uporabniลกko ime ali geslo PostgreSQL ni veljavno", diff --git a/lib/l10n/sv.php b/lib/l10n/sv.php index 5432eed5858..66cd34f73dd 100644 --- a/lib/l10n/sv.php +++ b/lib/l10n/sv.php @@ -16,7 +16,6 @@ $TRANSLATIONS = array( "Files need to be downloaded one by one." => "Filer laddas ner en รฅt gรฅngen.", "Back to Files" => "Tillbaka till Filer", "Selected files too large to generate zip file." => "Valda filer รคr fรถr stora fรถr att skapa zip-fil.", -"Download the files in smaller chunks, seperately or kindly ask your administrator." => "Ladda ner filerna i mindre bitar, separat eller frรฅga din administratรถr.", "No source specified when installing app" => "Ingen kรคlla angiven vid installation av app ", "No href specified when installing app from http" => "Ingen href angiven vid installation av app frรฅn http", "No path specified when installing app from local file" => "Ingen sรถkvรคg angiven vid installation av app frรฅn lokal fil", diff --git a/lib/l10n/tr.php b/lib/l10n/tr.php index eb838f6c537..11f0c72671f 100644 --- a/lib/l10n/tr.php +++ b/lib/l10n/tr.php @@ -16,7 +16,7 @@ $TRANSLATIONS = array( "Files need to be downloaded one by one." => "Dosyalarฤฑn birer birer indirilmesi gerekmektedir.", "Back to Files" => "Dosyalara dรถn", "Selected files too large to generate zip file." => "Seรงilen dosyalar bir zip dosyasฤฑ oluลturmak iรงin fazla bรผyรผktรผr.", -"Download the files in smaller chunks, seperately or kindly ask your administrator." => "Dosyalarฤฑ ayrฤฑ ayrฤฑ, kรผรงรผk parรงalar halinde indirin ya da yรถneticinizden yardฤฑm isteyin. ", +"Please download the files separately in smaller chunks or kindly ask your administrator." => "Dosyalarฤฑ ayrฤฑ ayrฤฑ, kรผรงรผk parรงalar halinde indirin veya yรถneticinizden yardฤฑm isteyin. ", "No source specified when installing app" => "Uygulama kurulurken bir kaynak belirtilmedi", "No href specified when installing app from http" => "Uygulama kuruluyorken http'de href belirtilmedi.", "No path specified when installing app from local file" => "Uygulama yerel dosyadan kuruluyorken dosya yolu belirtilmedi", diff --git a/lib/l10n/zh_TW.php b/lib/l10n/zh_TW.php index 0081a37dadd..187d40e540e 100644 --- a/lib/l10n/zh_TW.php +++ b/lib/l10n/zh_TW.php @@ -16,7 +16,6 @@ $TRANSLATIONS = array( "Files need to be downloaded one by one." => "ๆชๆก้่ฆ้ไธไธ่ผใ", "Back to Files" => "ๅๅฐๆชๆกๅ่กจ", "Selected files too large to generate zip file." => "้ธๆ็ๆชๆกๅคชๅคงไปฅ่ดๆผ็กๆณ็ข็ๅฃ็ธฎๆชใ", -"Download the files in smaller chunks, seperately or kindly ask your administrator." => "ไปฅๅฐๅๅฒไธ่ผๆจ็ๆชๆก๏ผ่ซ่ฉขๅๆจ็็ณป็ตฑ็ฎก็ๅกใ", "No source specified when installing app" => "ๆฒๆๆๅฎๆ็จ็จๅผๅฎ่ฃไพๆบ", "No href specified when installing app from http" => "ๅพ http ๅฎ่ฃๆ็จ็จๅผ๏ผๆพไธๅฐ href ๅฑฌๆง", "No path specified when installing app from local file" => "ๅพๆฌๅฐๆชๆกๅฎ่ฃๆ็จ็จๅผๆๆฒๆๆๅฎ่ทฏๅพ", diff --git a/lib/private/avatar.php b/lib/private/avatar.php index 720740569df..814a9b22bed 100644 --- a/lib/private/avatar.php +++ b/lib/private/avatar.php @@ -10,7 +10,7 @@ * This class gets and sets users avatars. */ -class OC_Avatar { +class OC_Avatar implements \OCP\IAvatar { private $view; @@ -24,7 +24,7 @@ class OC_Avatar { /** * @brief get the users avatar - * @param $size integer size in px of the avatar, defaults to 64 + * @param $size integer size in px of the avatar, avatars are square, defaults to 64 * @return boolean|\OC_Image containing the avatar or false if there's no image */ public function get ($size = 64) { @@ -54,7 +54,9 @@ class OC_Avatar { $img = new OC_Image($data); $type = substr($img->mimeType(), -3); - if ($type === 'peg') { $type = 'jpg'; } + if ($type === 'peg') { + $type = 'jpg'; + } if ($type !== 'jpg' && $type !== 'png') { $l = \OC_L10N::get('lib'); throw new \Exception($l->t("Unknown filetype")); diff --git a/lib/private/avatarmanager.php b/lib/private/avatarmanager.php new file mode 100644 index 00000000000..3ca46868ea6 --- /dev/null +++ b/lib/private/avatarmanager.php @@ -0,0 +1,26 @@ +<?php +/** + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OC; + +use OCP\IAvatarManager; + +/* + * This class implements methods to access Avatar functionality + */ +class AvatarManager implements IAvatarManager { + + /** + * @brief return a user specific instance of \OCP\IAvatar + * @see \OCP\IAvatar + * @param $user string the ownCloud user id + * @return \OCP\IAvatar + */ + function getAvatar($user) { + return new \OC_Avatar($user); + } +} diff --git a/lib/private/connector/sabre/filesplugin.php b/lib/private/connector/sabre/filesplugin.php index 89444cb8d18..65231040fb5 100644 --- a/lib/private/connector/sabre/filesplugin.php +++ b/lib/private/connector/sabre/filesplugin.php @@ -78,6 +78,20 @@ class OC_Connector_Sabre_FilesPlugin extends Sabre_DAV_ServerPlugin * @throws Sabre_DAV_Exception_BadRequest */ public function sendFileIdHeader($filePath, Sabre_DAV_INode $node = null) { + // chunked upload handling + if (isset($_SERVER['HTTP_OC_CHUNKED'])) { + list($path, $name) = \Sabre_DAV_URLUtil::splitPath($filePath); + $info = OC_FileChunking::decodeName($name); + if (!empty($info)) { + $filePath = $path . '/' . $info['name']; + } + } + + // we get the node for the given $filePath here because in case of afterCreateFile $node is the parent folder + if (!$this->server->tree->nodeExists($filePath)) { + return; + } + $node = $this->server->tree->getNodeForPath($filePath); if ($node instanceof OC_Connector_Sabre_Node) { $fileId = $node->getFileId(); if (!is_null($fileId)) { diff --git a/lib/private/defaults.php b/lib/private/defaults.php index 4951c6f50ae..cec9a65c7f3 100644 --- a/lib/private/defaults.php +++ b/lib/private/defaults.php @@ -1,15 +1,13 @@ <?php -/** - * Default strings and values which differ between the enterprise and the - * community edition. Use the get methods to always get the right strings. - */ - - if (file_exists(OC::$SERVERROOT . '/themes/' . OC_Util::getTheme() . '/defaults.php')) { require_once 'themes/' . OC_Util::getTheme() . '/defaults.php'; } +/** + * Default strings and values which differ between the enterprise and the + * community edition. Use the get methods to always get the right strings. + */ class OC_Defaults { private $theme; @@ -48,6 +46,10 @@ class OC_Defaults { return false; } + /** + * Returns the base URL + * @return string URL + */ public function getBaseUrl() { if ($this->themeExist('getBaseUrl')) { return $this->theme->getBaseUrl(); @@ -56,6 +58,10 @@ class OC_Defaults { } } + /** + * Returns the URL where the sync clients are listed + * @return string URL + */ public function getSyncClientUrl() { if ($this->themeExist('getSyncClientUrl')) { return $this->theme->getSyncClientUrl(); @@ -64,6 +70,10 @@ class OC_Defaults { } } + /** + * Returns the documentation URL + * @return string URL + */ public function getDocBaseUrl() { if ($this->themeExist('getDocBaseUrl')) { return $this->theme->getDocBaseUrl(); @@ -72,6 +82,10 @@ class OC_Defaults { } } + /** + * Returns the title + * @return string title + */ public function getTitle() { if ($this->themeExist('getTitle')) { return $this->theme->getTitle(); @@ -80,6 +94,10 @@ class OC_Defaults { } } + /** + * Returns the short name of the software + * @return string title + */ public function getName() { if ($this->themeExist('getName')) { return $this->theme->getName(); @@ -88,6 +106,10 @@ class OC_Defaults { } } + /** + * Returns entity (e.g. company name) - used for footer, copyright + * @return string entity name + */ public function getEntity() { if ($this->themeExist('getEntity')) { return $this->theme->getEntity(); @@ -96,6 +118,10 @@ class OC_Defaults { } } + /** + * Returns slogan + * @return string slogan + */ public function getSlogan() { if ($this->themeExist('getSlogan')) { return $this->theme->getSlogan(); @@ -104,6 +130,10 @@ class OC_Defaults { } } + /** + * Returns logo claim + * @return string logo claim + */ public function getLogoClaim() { if ($this->themeExist('getLogoClaim')) { return $this->theme->getLogoClaim(); @@ -112,6 +142,10 @@ class OC_Defaults { } } + /** + * Returns short version of the footer + * @return string short footer + */ public function getShortFooter() { if ($this->themeExist('getShortFooter')) { $footer = $this->theme->getShortFooter(); @@ -123,6 +157,10 @@ class OC_Defaults { return $footer; } + /** + * Returns long version of the footer + * @return string long footer + */ public function getLongFooter() { if ($this->themeExist('getLongFooter')) { $footer = $this->theme->getLongFooter(); diff --git a/lib/private/files.php b/lib/private/files.php index 8b4d5c59aee..8b8ff81ec5e 100644 --- a/lib/private/files.php +++ b/lib/private/files.php @@ -131,9 +131,11 @@ class OC_Files { if ($filesize > -1) { header("Content-Length: ".$filesize); } - list($storage) = \OC\Files\Filesystem::resolvePath($filename); - if ($storage instanceof \OC\Files\Storage\Local) { - self::addSendfileHeader(\OC\Files\Filesystem::getLocalFile($filename)); + if ($xsendfile) { + list($storage) = \OC\Files\Filesystem::resolvePath(\OC\Files\Filesystem::getView()->getAbsolutePath($filename)); + if ($storage instanceof \OC\Files\Storage\Local) { + self::addSendfileHeader(\OC\Files\Filesystem::getLocalFile($filename)); + } } } } elseif ($zip or !\OC\Files\Filesystem::file_exists($filename)) { @@ -251,7 +253,7 @@ class OC_Files { header("HTTP/1.0 409 Conflict"); OC_Template::printErrorPage( $l->t('Selected files too large to generate zip file.'), - $l->t('Download the files in smaller chunks, seperately or kindly ask your administrator.') + $l->t('Please download the files separately in smaller chunks or kindly ask your administrator.') .'<br/><a href="javascript:history.back()">' . $l->t('Back to Files') . '</a>' ); diff --git a/lib/private/files/cache/cache.php b/lib/private/files/cache/cache.php index 8c34fa58540..ac50a988e32 100644 --- a/lib/private/files/cache/cache.php +++ b/lib/private/files/cache/cache.php @@ -507,7 +507,7 @@ class Cache { $entry = $this->get($path); if ($entry && $entry['mimetype'] === 'httpd/unix-directory') { $id = $entry['fileid']; - $sql = 'SELECT SUM(`size`), MIN(`size`) FROM `*PREFIX*filecache` '. + $sql = 'SELECT SUM(`size`) AS f1, MIN(`size`) AS f2 FROM `*PREFIX*filecache` '. 'WHERE `parent` = ? AND `storage` = ?'; $result = \OC_DB::executeAudited($sql, array($id, $this->getNumericStorageId())); if ($row = $result->fetchRow()) { diff --git a/lib/private/files/cache/updater.php b/lib/private/files/cache/updater.php index da223567001..d45c5e17fc8 100644 --- a/lib/private/files/cache/updater.php +++ b/lib/private/files/cache/updater.php @@ -142,7 +142,7 @@ class Updater { $cache->update($id, array('mtime' => $time, 'etag' => $storage->getETag($internalPath))); if ($realPath !== '') { $realPath = dirname($realPath); - if($realPath === '/') { + if($realPath === DIRECTORY_SEPARATOR ) { $realPath = ""; } // check storage for parent in case we change the storage in this step diff --git a/lib/private/files/storage/common.php b/lib/private/files/storage/common.php index 3943d667c35..678bf419023 100644 --- a/lib/private/files/storage/common.php +++ b/lib/private/files/storage/common.php @@ -51,6 +51,19 @@ abstract class Common implements \OC\Files\Storage\Storage { } } + public function isReadable($path) { + // at least check whether it exists + // subclasses might want to implement this more thoroughly + return $this->file_exists($path); + } + + public function isUpdatable($path) { + // at least check whether it exists + // subclasses might want to implement this more thoroughly + // a non-existing file/folder isn't updatable + return $this->file_exists($path); + } + public function isCreatable($path) { if ($this->is_dir($path) && $this->isUpdatable($path)) { return true; @@ -142,7 +155,7 @@ abstract class Common implements \OC\Files\Storage\Storage { return false; } else { $directoryHandle = $this->opendir($directory); - if(is_resource($directoryHandle)) { + if (is_resource($directoryHandle)) { while (($contents = readdir($directoryHandle)) !== false) { if (!\OC\Files\Filesystem::isIgnoredDir($contents)) { $path = $directory . '/' . $contents; @@ -165,27 +178,13 @@ abstract class Common implements \OC\Files\Storage\Storage { } public function getMimeType($path) { - if (!$this->file_exists($path)) { - return false; - } if ($this->is_dir($path)) { return 'httpd/unix-directory'; - } - $source = $this->fopen($path, 'r'); - if (!$source) { - return false; - } - $head = fread($source, 8192); //8kb should suffice to determine a mimetype - if ($pos = strrpos($path, '.')) { - $extension = substr($path, $pos); + } elseif ($this->file_exists($path)) { + return \OC_Helper::getFileNameMimeType($path); } else { - $extension = ''; + return false; } - $tmpFile = \OC_Helper::tmpFile($extension); - file_put_contents($tmpFile, $head); - $mime = \OC_Helper::getMimeType($tmpFile); - unlink($tmpFile); - return $mime; } public function hash($type, $path, $raw = false) { @@ -227,7 +226,7 @@ abstract class Common implements \OC\Files\Storage\Storage { private function addLocalFolder($path, $target) { $dh = $this->opendir($path); - if(is_resource($dh)) { + if (is_resource($dh)) { while (($file = readdir($dh)) !== false) { if ($file !== '.' and $file !== '..') { if ($this->is_dir($path . '/' . $file)) { @@ -298,7 +297,7 @@ abstract class Common implements \OC\Files\Storage\Storage { return $this->watcher; } - public function getStorageCache(){ + public function getStorageCache() { if (!isset($this->storageCache)) { $this->storageCache = new \OC\Files\Cache\Storage($this); } diff --git a/lib/private/files/storage/commontest.php b/lib/private/files/storage/commontest.php index c3f1eb31955..2394b14a82f 100644 --- a/lib/private/files/storage/commontest.php +++ b/lib/private/files/storage/commontest.php @@ -54,7 +54,7 @@ class CommonTest extends \OC\Files\Storage\Common{ return $this->storage->stat($path); } public function filetype($path) { - return $this->storage->filetype($path); + return @$this->storage->filetype($path); } public function isReadable($path) { return $this->storage->isReadable($path); diff --git a/lib/private/files/storage/home.php b/lib/private/files/storage/home.php index b4ceb8f4f9b..1c2a682f197 100644 --- a/lib/private/files/storage/home.php +++ b/lib/private/files/storage/home.php @@ -22,6 +22,12 @@ class Home extends Local { */ protected $user; + /** + * @brief Construct a Home storage instance + * @param array $arguments array with "user" containing the + * storage owner and "legacy" containing "true" if the storage is + * a legacy storage with "local::" URL instead of the new "home::" one. + */ public function __construct($arguments) { $this->user = $arguments['user']; $datadir = $this->user->getHome(); @@ -40,10 +46,21 @@ class Home extends Local { return $this->id; } + /** + * @return \OC\Files\Cache\HomeCache + */ public function getCache($path = '') { if (!isset($this->cache)) { $this->cache = new \OC\Files\Cache\HomeCache($this); } return $this->cache; } + + /** + * @brief Returns the owner of this home storage + * @return \OC\User\User owner of this home storage + */ + public function getUser() { + return $this->user; + } } diff --git a/lib/private/files/storage/local.php b/lib/private/files/storage/local.php index 5209fabc30a..02e8df4af4e 100644 --- a/lib/private/files/storage/local.php +++ b/lib/private/files/storage/local.php @@ -203,14 +203,6 @@ if (\OC_Util::runningOnWindows()) { return $return; } - public function getMimeType($path) { - if ($this->isReadable($path)) { - return \OC_Helper::getMimeType($this->datadir . $path); - } else { - return false; - } - } - private function delTree($dir) { $dirRelative = $dir; $dir = $this->datadir . $dir; diff --git a/lib/private/files/storage/mappedlocal.php b/lib/private/files/storage/mappedlocal.php index ba5ac4191c5..6c37d445867 100644 --- a/lib/private/files/storage/mappedlocal.php +++ b/lib/private/files/storage/mappedlocal.php @@ -210,14 +210,6 @@ class MappedLocal extends \OC\Files\Storage\Common{ return $return; } - public function getMimeType($path) { - if($this->isReadable($path)) { - return \OC_Helper::getMimeType($this->buildPath($path)); - }else{ - return false; - } - } - private function delTree($dir, $isLogicPath=true) { $dirRelative=$dir; if ($isLogicPath) { diff --git a/lib/private/preview/movies.php b/lib/private/preview/movies.php index 28f130f7506..ac771deb413 100644 --- a/lib/private/preview/movies.php +++ b/lib/private/preview/movies.php @@ -46,17 +46,19 @@ if (!\OC_Util::runningOnWindows()) { $handle = $fileview->fopen($path, 'rb'); - $firstmb = stream_get_contents($handle, 1048576); //1024 * 1024 = 1048576 + // we better use 5MB (1024 * 1024 * 5 = 5242880) instead of 1MB. + // in some cases 1MB was no enough to generate thumbnail + $firstmb = stream_get_contents($handle, 5242880); file_put_contents($absPath, $firstmb); if (self::$avconvBinary) { - $cmd = self::$avconvBinary . ' -an -y -ss 1'. + $cmd = self::$avconvBinary . ' -an -y -ss 5'. ' -i ' . escapeshellarg($absPath) . - ' -f mjpeg -vframes 1 ' . escapeshellarg($tmpPath) . + ' -f mjpeg -vframes 1 -vsync 1 ' . escapeshellarg($tmpPath) . ' > /dev/null 2>&1'; } else { - $cmd = self::$ffmpegBinary . ' -y -ss 1' . + $cmd = self::$ffmpegBinary . ' -y -ss 5' . ' -i ' . escapeshellarg($absPath) . ' -f mjpeg -vframes 1' . ' -s ' . escapeshellarg($maxX) . 'x' . escapeshellarg($maxY) . diff --git a/lib/private/request.php b/lib/private/request.php index df33217f95d..7a75bf25208 100755 --- a/lib/private/request.php +++ b/lib/private/request.php @@ -9,6 +9,7 @@ class OC_Request { /** * @brief Check overwrite condition + * @param string $type * @returns bool */ private static function isOverwriteCondition($type = '') { @@ -99,7 +100,7 @@ class OC_Request { public static function scriptName() { $name = $_SERVER['SCRIPT_NAME']; if (OC_Config::getValue('overwritewebroot', '') !== '' and self::isOverwriteCondition()) { - $serverroot = str_replace("\\", '/', substr(__DIR__, 0, -4)); + $serverroot = str_replace("\\", '/', substr(__DIR__, 0, -strlen('lib/private/'))); $suburi = str_replace("\\", "/", substr(realpath($_SERVER["SCRIPT_FILENAME"]), strlen($serverroot))); $name = OC_Config::getValue('overwritewebroot', '') . $suburi; } @@ -135,7 +136,18 @@ class OC_Request { * @returns string Path info or false when not found */ public static function getRawPathInfo() { - $path_info = substr($_SERVER['REQUEST_URI'], strlen($_SERVER['SCRIPT_NAME'])); + $requestUri = $_SERVER['REQUEST_URI']; + // remove too many leading slashes - can be caused by reverse proxy configuration + if (strpos($requestUri, '/') === 0) { + $requestUri = '/' . ltrim($requestUri, '/'); + } + + $scriptName = $_SERVER['SCRIPT_NAME']; + // in case uri and script name don't match we better throw an exception + if (strpos($requestUri, $scriptName) !== 0) { + throw new Exception("REQUEST_URI($requestUri) does not start with the SCRIPT_NAME($scriptName)"); + } + $path_info = substr($requestUri, strlen($scriptName)); // Remove the query string from REQUEST_URI if ($pos = strpos($path_info, '?')) { $path_info = substr($path_info, 0, $pos); diff --git a/lib/private/server.php b/lib/private/server.php index 65899f3007e..77c3732a9ca 100644 --- a/lib/private/server.php +++ b/lib/private/server.php @@ -131,6 +131,9 @@ class Server extends SimpleContainer implements IServerContainer { $this->registerService('ActivityManager', function($c) { return new ActivityManager(); }); + $this->registerService('AvatarManager', function($c) { + return new AvatarManager(); + }); } /** @@ -171,6 +174,15 @@ class Server extends SimpleContainer implements IServerContainer { } /** + * Returns the avatar manager, used for avatar functionality + * + * @return \OCP\IAvatarManager + */ + function getAvatarManager() { + return $this->query('AvatarManager'); + } + + /** * Returns the root folder of ownCloud's data directory * * @return \OCP\Files\Folder diff --git a/lib/private/updater.php b/lib/private/updater.php index 9827d8a8c12..a1b07c5a242 100644 --- a/lib/private/updater.php +++ b/lib/private/updater.php @@ -58,6 +58,7 @@ class Updater extends BasicEmitter { $version['updated'] = \OC_Appconfig::getValue('core', 'lastupdatedat'); $version['updatechannel'] = \OC_Util::getChannel(); $version['edition'] = \OC_Util::getEditionString(); + $version['build'] = \OC_Util::getBuild(); $versionString = implode('x', $version); //fetch xml data from updater diff --git a/lib/private/user.php b/lib/private/user.php index f15fdf1dbbc..5bd36006750 100644 --- a/lib/private/user.php +++ b/lib/private/user.php @@ -54,6 +54,9 @@ class OC_User { private static $_setupedBackends = array(); + // bool, stores if a user want to access a resource anonymously, e.g if he opens a public link + private static $incognitoMode = false; + /** * @brief registers backend * @param string $backend name of the backend @@ -320,6 +323,15 @@ class OC_User { } /** + * @brief set incognito mode, e.g. if a user wants to open a public link + * @param bool $status + */ + public static function setIncognitoMode($status) { + self::$incognitoMode = $status; + + } + + /** * Supplies an attribute to the logout hyperlink. The default behaviour * is to return an href with '?logout=true' appended. However, it can * supply any attribute(s) which are valid for <a>. @@ -354,7 +366,7 @@ class OC_User { */ public static function getUser() { $uid = OC::$session ? OC::$session->get('user_id') : null; - if (!is_null($uid)) { + if (!is_null($uid) && self::$incognitoMode === false) { return $uid; } else { return false; diff --git a/lib/private/util.php b/lib/private/util.php index 176eb4bc369..b5c5546da35 100755 --- a/lib/private/util.php +++ b/lib/private/util.php @@ -53,16 +53,21 @@ class OC_Util { //if we aren't logged in, there is no use to set up the filesystem if( $user != "" ) { - $quota = self::getUserQuota($user); - if ($quota !== \OC\Files\SPACE_UNLIMITED) { - \OC\Files\Filesystem::addStorageWrapper(function($mountPoint, $storage) use ($quota, $user) { - if ($mountPoint === '/' . $user . '/'){ + \OC\Files\Filesystem::addStorageWrapper(function($mountPoint, $storage){ + // set up quota for home storages, even for other users + // which can happen when using sharing + + if ($storage instanceof \OC\Files\Storage\Home) { + $user = $storage->getUser()->getUID(); + $quota = OC_Util::getUserQuota($user); + if ($quota !== \OC\Files\SPACE_UNLIMITED) { return new \OC\Files\Storage\Wrapper\Quota(array('storage' => $storage, 'quota' => $quota)); - } else { - return $storage; } - }); - } + } + + return $storage; + }); + $userDir = '/'.$user.'/files'; $userRoot = OC_User::getHome($user); $userDirectory = $userRoot . '/files'; @@ -353,6 +358,13 @@ class OC_Util { $errors = array_merge($errors, self::checkDataDirectoryPermissions($CONFIG_DATADIRECTORY)); } + if(!OC_Util::isSetLocaleWorking()) { + $errors[] = array( + 'error' => 'Setting locale to en_US.UTF-8/fr_FR.UTF-8/es_ES.UTF-8/de_DE.UTF-8/ru_RU.UTF-8/pt_BR.UTF-8/it_IT.UTF-8/ja_JP.UTF-8/zh_CN.UTF-8 failed', + 'hint' => 'Please install one of theses locales on your system and restart your webserver.' + ); + } + $moduleHint = "Please ask your server administrator to install the module."; // check if all required php modules are present if(!class_exists('ZipArchive')) { @@ -847,8 +859,8 @@ class OC_Util { return true; } - $result = setlocale(LC_ALL, 'en_US.UTF-8', 'en_US.UTF8'); - if($result == false) { + \Patchwork\Utf8\Bootup::initLocale(); + if ('' === basename('ยง')) { return false; } return true; @@ -1099,4 +1111,17 @@ class OC_Util { $t = explode('/', $file); return array_pop($t); } + + /** + * A human readable string is generated based on version, channel and build number + * @return string + */ + public static function getHumanVersion() { + $version = OC_Util::getVersionString().' ('.OC_Util::getChannel().')'; + $build = OC_Util::getBuild(); + if(!empty($build) and OC_Util::getChannel() === 'daily') { + $version .= ' Build:' . $build; + } + return $version; + } } diff --git a/lib/public/activity/iconsumer.php b/lib/public/activity/iconsumer.php index a0134a379dc..9afacf4e745 100644 --- a/lib/public/activity/iconsumer.php +++ b/lib/public/activity/iconsumer.php @@ -20,6 +20,11 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * Activity/IConsumer interface + */ + // use OCP namespace for all classes that are considered public. // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP\Activity; diff --git a/lib/public/activity/imanager.php b/lib/public/activity/imanager.php index 90215d637c0..086e430d677 100644 --- a/lib/public/activity/imanager.php +++ b/lib/public/activity/imanager.php @@ -20,6 +20,11 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * Activity/IManager interface + */ + // use OCP namespace for all classes that are considered public. // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP\Activity; @@ -47,7 +52,6 @@ interface IManager { * * $callable has to return an instance of OCA\Activity\IConsumer * - * @param string $key * @param \Closure $callable */ function registerConsumer(\Closure $callable); diff --git a/lib/public/appframework/app.php b/lib/public/appframework/app.php index 6ac48bf102a..0ff6648c5d4 100644 --- a/lib/public/appframework/app.php +++ b/lib/public/appframework/app.php @@ -20,6 +20,11 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * AppFramework/App class + */ + namespace OCP\AppFramework; diff --git a/lib/public/appframework/controller.php b/lib/public/appframework/controller.php index 320e0cfebb2..dc8da967871 100644 --- a/lib/public/appframework/controller.php +++ b/lib/public/appframework/controller.php @@ -20,6 +20,10 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * AppFramework\Controller class + */ namespace OCP\AppFramework; @@ -34,16 +38,19 @@ use OCP\IRequest; abstract class Controller { /** + * app container for dependency injection * @var \OCP\AppFramework\IAppContainer */ protected $app; /** + * current request * @var \OCP\IRequest */ protected $request; /** + * constructor of the controller * @param IAppContainer $app interface to the app * @param IRequest $request an instance of the request */ diff --git a/lib/public/appframework/http.php b/lib/public/appframework/http.php index c584d4ec670..60f314202cc 100644 --- a/lib/public/appframework/http.php +++ b/lib/public/appframework/http.php @@ -20,10 +20,16 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * AppFramework\HTTP class + */ namespace OCP\AppFramework; - +/** + * Base class which contains constants for HTTP status codes + */ class Http { const STATUS_CONTINUE = 100; diff --git a/lib/public/appframework/http/jsonresponse.php b/lib/public/appframework/http/jsonresponse.php index 7c2b609bc2e..b54b23a34e6 100644 --- a/lib/public/appframework/http/jsonresponse.php +++ b/lib/public/appframework/http/jsonresponse.php @@ -20,6 +20,10 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * AppFramework\HTTP\JSONResponse class + */ namespace OCP\AppFramework\Http; @@ -30,10 +34,15 @@ use OCP\AppFramework\Http; */ class JSONResponse extends Response { + /** + * response data + * @var array|object + */ protected $data; /** + * constructor of JSONResponse * @param array|object $data the object or array that should be transformed * @param int $statusCode the Http status code, defaults to 200 */ @@ -55,7 +64,7 @@ class JSONResponse extends Response { /** * Sets values in the data json array - * @param array|object $params an array or object which will be transformed + * @param array|object $data an array or object which will be transformed * to JSON */ public function setData($data){ diff --git a/lib/public/appframework/http/response.php b/lib/public/appframework/http/response.php index f776878a814..0f5a18ca4fe 100644 --- a/lib/public/appframework/http/response.php +++ b/lib/public/appframework/http/response.php @@ -20,6 +20,10 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * AppFramework\HTTP\Response class + */ namespace OCP\AppFramework\Http; diff --git a/lib/public/appframework/http/templateresponse.php b/lib/public/appframework/http/templateresponse.php index 6156f8062fc..2200a38beca 100644 --- a/lib/public/appframework/http/templateresponse.php +++ b/lib/public/appframework/http/templateresponse.php @@ -20,6 +20,10 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * AppFramework\HTTP\TemplateResponse class + */ namespace OCP\AppFramework\Http; @@ -29,14 +33,34 @@ namespace OCP\AppFramework\Http; */ class TemplateResponse extends Response { + /** + * name of the template + * @var string + */ protected $templateName; + + /** + * parameters + * @var array + */ protected $params; + + /** + * rendering type (admin, user, blank) + * @var string + */ protected $renderAs; + + /** + * app name + * @var string + */ protected $appName; /** - * @param string $templateName the name of the template + * constructor of TemplateResponse * @param string $appName the name of the app to load the template from + * @param string $templateName the name of the template */ public function __construct($appName, $templateName) { $this->templateName = $templateName; diff --git a/lib/public/appframework/iapi.php b/lib/public/appframework/iapi.php index a22b056635e..963e870f79b 100644 --- a/lib/public/appframework/iapi.php +++ b/lib/public/appframework/iapi.php @@ -20,6 +20,10 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * AppFramework/IApi interface + */ namespace OCP\AppFramework; diff --git a/lib/public/appframework/middleware.php b/lib/public/appframework/middleware.php index c4ee1c0dbae..24f31939935 100644 --- a/lib/public/appframework/middleware.php +++ b/lib/public/appframework/middleware.php @@ -20,6 +20,10 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * AppFramework\Middleware class + */ namespace OCP\AppFramework; diff --git a/lib/public/authentication/iapachebackend.php b/lib/public/authentication/iapachebackend.php index 2d2f8c4e486..3979a14302e 100644 --- a/lib/public/authentication/iapachebackend.php +++ b/lib/public/authentication/iapachebackend.php @@ -20,6 +20,11 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * Authentication/IApacheBackend interface + */ + // use OCP namespace for all classes that are considered public. // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP\Authentication; diff --git a/lib/public/db.php b/lib/public/db.php index b9424b53862..c9997c79c3c 100644 --- a/lib/public/db.php +++ b/lib/public/db.php @@ -37,6 +37,8 @@ class DB { /** * Prepare a SQL query * @param string $query Query string + * @param int $limit Limit of the SQL statement + * @param int $offset Offset of the SQL statement * @return \MDB2_Statement_Common prepared SQL query * * SQL query via MDB2 prepare(), needs to be execute()'d! diff --git a/lib/public/defaults.php b/lib/public/defaults.php index 8f7853a86a3..34b68903ee8 100644 --- a/lib/public/defaults.php +++ b/lib/public/defaults.php @@ -30,19 +30,27 @@ // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP; -/* +/** * public api to access default strings and urls for your templates */ class Defaults { + /** + * \OC_Defaults instance to retrieve the defaults + * @return string + */ private $defaults; + /** + * creates a \OC_Defaults instance which is used in all methods to retrieve the + * actual defaults + */ function __construct() { $this->defaults = new \OC_Defaults(); } /** - * @breif get base URL for the organisation behind your ownCloud instance + * get base URL for the organisation behind your ownCloud instance * @return string */ public function getBaseUrl() { @@ -50,7 +58,7 @@ class Defaults { } /** - * @breif link to the desktop sync client + * link to the desktop sync client * @return string */ public function getSyncClientUrl() { @@ -58,7 +66,7 @@ class Defaults { } /** - * @breif base URL to the documentation of your ownCloud instance + * base URL to the documentation of your ownCloud instance * @return string */ public function getDocBaseUrl() { @@ -66,7 +74,7 @@ class Defaults { } /** - * @breif name of your ownCloud instance + * name of your ownCloud instance * @return string */ public function getName() { @@ -74,7 +82,7 @@ class Defaults { } /** - * @breif Entity behind your onwCloud instance + * Entity behind your onwCloud instance * @return string */ public function getEntity() { @@ -82,7 +90,7 @@ class Defaults { } /** - * @breif ownCloud slogan + * ownCloud slogan * @return string */ public function getSlogan() { @@ -90,7 +98,7 @@ class Defaults { } /** - * @breif logo claim + * logo claim * @return string */ public function getLogoClaim() { @@ -98,7 +106,7 @@ class Defaults { } /** - * @breif footer, short version + * footer, short version * @return string */ public function getShortFooter() { @@ -106,7 +114,7 @@ class Defaults { } /** - * @breif footer, long version + * footer, long version * @return string */ public function getLongFooter() { diff --git a/lib/public/files/alreadyexistsexception.php b/lib/public/files/alreadyexistsexception.php index 3132e3b0c31..7bea947aef0 100644 --- a/lib/public/files/alreadyexistsexception.php +++ b/lib/public/files/alreadyexistsexception.php @@ -20,8 +20,16 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * Files/AlreadyExistsException class + */ + // use OCP namespace for all classes that are considered public. // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP\Files; +/** + * Exception for already existing files/folders + */ class AlreadyExistsException extends \Exception {} diff --git a/lib/public/files/entitytoolargeexception.php b/lib/public/files/entitytoolargeexception.php index e0d93ccbcd0..eaa68a548b9 100644 --- a/lib/public/files/entitytoolargeexception.php +++ b/lib/public/files/entitytoolargeexception.php @@ -20,8 +20,16 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * Files/EntityTooLargeException class + */ + // use OCP namespace for all classes that are considered public. // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP\Files; +/** + * Exception for too large entity + */ class EntityTooLargeException extends \Exception {} diff --git a/lib/public/files/file.php b/lib/public/files/file.php index 730213039d0..c6cda59f9b0 100644 --- a/lib/public/files/file.php +++ b/lib/public/files/file.php @@ -20,6 +20,11 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * Files/File interface + */ + // use OCP namespace for all classes that are considered public. // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP\Files; diff --git a/lib/public/files/folder.php b/lib/public/files/folder.php index 5c9785db571..7fec1c529a5 100644 --- a/lib/public/files/folder.php +++ b/lib/public/files/folder.php @@ -20,6 +20,11 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * Files/Folder interface + */ + // use OCP namespace for all classes that are considered public. // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP\Files; diff --git a/lib/public/files/invalidcontentexception.php b/lib/public/files/invalidcontentexception.php index 2e1356e2ba3..3dfe7378c4d 100644 --- a/lib/public/files/invalidcontentexception.php +++ b/lib/public/files/invalidcontentexception.php @@ -20,8 +20,16 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * Files/InvalidContentException class + */ + // use OCP namespace for all classes that are considered public. // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP\Files; +/** + * Exception for invalid content + */ class InvalidContentException extends \Exception {} diff --git a/lib/public/files/invalidpathexception.php b/lib/public/files/invalidpathexception.php index 893eb1e43f8..8ecfa7d89ad 100644 --- a/lib/public/files/invalidpathexception.php +++ b/lib/public/files/invalidpathexception.php @@ -20,8 +20,16 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * Files/InvalidPathException class + */ + // use OCP namespace for all classes that are considered public. // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP\Files; +/** + * Exception for invalid path + */ class InvalidPathException extends \Exception {} diff --git a/lib/public/files/node.php b/lib/public/files/node.php index e38bfa3b2ef..972b1cfa492 100644 --- a/lib/public/files/node.php +++ b/lib/public/files/node.php @@ -20,6 +20,11 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * Files/Node interface + */ + // use OCP namespace for all classes that are considered public. // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP\Files; diff --git a/lib/public/files/notenoughspaceexception.php b/lib/public/files/notenoughspaceexception.php index 1597a4518b0..17f91b31bfc 100644 --- a/lib/public/files/notenoughspaceexception.php +++ b/lib/public/files/notenoughspaceexception.php @@ -20,8 +20,16 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * Files/NotEnoughSpaceException class + */ + // use OCP namespace for all classes that are considered public. // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP\Files; +/** + * Exception for not enough space + */ class NotEnoughSpaceException extends \Exception {} diff --git a/lib/public/files/notfoundexception.php b/lib/public/files/notfoundexception.php index 489e43fc5fb..cb35199220b 100644 --- a/lib/public/files/notfoundexception.php +++ b/lib/public/files/notfoundexception.php @@ -20,8 +20,16 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * Files/NotFoundException class + */ + // use OCP namespace for all classes that are considered public. // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP\Files; +/** + * Exception for not found entity + */ class NotFoundException extends \Exception {} diff --git a/lib/public/files/notpermittedexception.php b/lib/public/files/notpermittedexception.php index a5be43dbf57..e37bd6fad3c 100644 --- a/lib/public/files/notpermittedexception.php +++ b/lib/public/files/notpermittedexception.php @@ -20,8 +20,16 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * Files/NotPermittedException class + */ + // use OCP namespace for all classes that are considered public. // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP\Files; +/** + * Exception for not permitted action + */ class NotPermittedException extends \Exception {} diff --git a/lib/public/files/storage.php b/lib/public/files/storage.php index 7a7d5ec1efc..194b42a6481 100644 --- a/lib/public/files/storage.php +++ b/lib/public/files/storage.php @@ -20,6 +20,11 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * Files/Storage interface + */ + // use OCP namespace for all classes that are considered public. // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP\Files; diff --git a/lib/public/iaddressbook.php b/lib/public/iaddressbook.php index 77e8750d9da..dcfe08012e6 100644 --- a/lib/public/iaddressbook.php +++ b/lib/public/iaddressbook.php @@ -20,6 +20,11 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * IAddressBook interface + */ + // use OCP namespace for all classes that are considered public. // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP { diff --git a/lib/public/iavatar.php b/lib/public/iavatar.php new file mode 100644 index 00000000000..2cbec0d45c3 --- /dev/null +++ b/lib/public/iavatar.php @@ -0,0 +1,38 @@ +<?php +/** + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OCP; + +/** + * This class provides avatar functionality + */ + +interface IAvatar { + + /** + * @brief get the users avatar + * @param $size integer size in px of the avatar, avatars are square, defaults to 64 + * @return boolean|\OC_Image containing the avatar or false if there's no image + */ + function get($size = 64); + + /** + * @brief sets the users avatar + * @param $data mixed imagedata or path to set a new avatar + * @throws Exception if the provided file is not a jpg or png image + * @throws Exception if the provided image is not valid + * @throws \OCP\NotSquareException if the image is not square + * @return void + */ + function set($data); + + /** + * @brief remove the users avatar + * @return void + */ + function remove(); +} diff --git a/lib/public/iavatarmanager.php b/lib/public/iavatarmanager.php new file mode 100644 index 00000000000..9b185ae0467 --- /dev/null +++ b/lib/public/iavatarmanager.php @@ -0,0 +1,23 @@ +<?php +/** + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OCP; + +/** + * This class provides avatar functionality + */ + +interface IAvatarManager { + + /** + * @brief return a user specific instance of \OCP\IAvatar + * @see \OCP\IAvatar + * @param $user string the ownCloud user id + * @return \OCP\IAvatar + */ + function getAvatar($user); +} diff --git a/lib/public/icontainer.php b/lib/public/icontainer.php index 6b7052cc4f4..eaffa5d5a06 100644 --- a/lib/public/icontainer.php +++ b/lib/public/icontainer.php @@ -64,7 +64,7 @@ interface IContainer { * In case the parameter is false the service will be recreated on every call. * * @param string $name - * @param callable $closure + * @param \Closure $closure * @param bool $shared * @return void */ diff --git a/lib/public/idbconnection.php b/lib/public/idbconnection.php index 17e3de0ffe7..656b5e7e5b2 100644 --- a/lib/public/idbconnection.php +++ b/lib/public/idbconnection.php @@ -45,7 +45,7 @@ interface IDBConnection { /** * Used to get the id of the just inserted element - * @param string $tableName the name of the table where we inserted the item + * @param string $table the name of the table where we inserted the item * @return int the id of the inserted element */ public function lastInsertId($table = null); diff --git a/lib/public/iservercontainer.php b/lib/public/iservercontainer.php index 14822817a47..36296a59850 100644 --- a/lib/public/iservercontainer.php +++ b/lib/public/iservercontainer.php @@ -154,4 +154,10 @@ interface IServerContainer { */ function getDatabaseConnection(); + /** + * @brief Returns an avatar manager, used for avatar functionality + * @return \OCP\IAvatarManager + */ + function getAvatarManager(); + } diff --git a/lib/public/share.php b/lib/public/share.php index caa274b8579..6178a5ae043 100644 --- a/lib/public/share.php +++ b/lib/public/share.php @@ -256,7 +256,7 @@ class Share { /** * Get the item of item type shared with the current user * @param string $itemType - * @param string $ItemTarget + * @param string $itemTarget * @param int $format (optional) Format type must be defined by the backend * @return Return depends on format */ @@ -268,8 +268,8 @@ class Share { /** * Get the item of item type shared with a given user by source - * @param string $ItemType - * @param string $ItemSource + * @param string $itemType + * @param string $itemSource * @param string $user User user to whom the item was shared * @return array Return list of items with file_target, permissions and expiration */ |