diff options
author | Michael Gapczynski <mtgap@owncloud.com> | 2012-08-06 13:49:54 -0400 |
---|---|---|
committer | Michael Gapczynski <mtgap@owncloud.com> | 2012-08-06 13:49:54 -0400 |
commit | ea2385432817dcf5ad47396d83932f564aa76e4b (patch) | |
tree | effc5c5489cf385ee79c73a4bea59605f53240f9 /lib | |
parent | ba0cf9817526e1206a25a5fe6d70255ab3c9e3bc (diff) | |
parent | fe6450002d6059260c743f48b6f40378454fa1dc (diff) | |
download | nextcloud-server-ea2385432817dcf5ad47396d83932f564aa76e4b.tar.gz nextcloud-server-ea2385432817dcf5ad47396d83932f564aa76e4b.zip |
Merge branch 'master' into share_api
Conflicts:
apps/contacts/lib/app.php
apps/contacts/templates/part.chooseaddressbook.rowfields.php
Diffstat (limited to 'lib')
-rwxr-xr-x | lib/app.php | 13 | ||||
-rw-r--r-- | lib/connector/sabre/directory.php | 20 | ||||
-rw-r--r-- | lib/connector/sabre/locks.php | 11 | ||||
-rw-r--r-- | lib/filechunking.php | 94 | ||||
-rw-r--r-- | lib/installer.php | 40 | ||||
-rw-r--r-- | lib/l10n/eo.php | 24 | ||||
-rw-r--r-- | lib/l10n/es.php | 25 | ||||
-rw-r--r-- | lib/l10n/et_EE.php | 25 | ||||
-rw-r--r-- | lib/l10n/fi_FI.php | 3 | ||||
-rw-r--r-- | lib/l10n/fr.php | 25 | ||||
-rw-r--r-- | lib/l10n/it.php | 25 | ||||
-rw-r--r-- | lib/l10n/uk.php | 24 | ||||
-rw-r--r-- | lib/mimetypes.list.php | 3 | ||||
-rw-r--r-- | lib/public/app.php | 2 | ||||
-rwxr-xr-x | lib/util.php | 10 |
15 files changed, 307 insertions, 37 deletions
diff --git a/lib/app.php b/lib/app.php index d1018c37aa7..1c91818ca75 100755 --- a/lib/app.php +++ b/lib/app.php @@ -183,7 +183,7 @@ class OC_App{ if(!OC_Installer::isInstalled($app)){ // check if app is a shipped app or not. OCS apps have an integer as id, shipped apps use a string if(!is_numeric($app)){ - OC_Installer::installShippedApp($app); + $app = OC_Installer::installShippedApp($app); }else{ $download=OC_OCSClient::getApplicationDownload($app,1); if(isset($download['downloadlink']) and $download['downloadlink']!='') { @@ -205,6 +205,7 @@ class OC_App{ }else{ return false; } + return $app; } /** @@ -292,19 +293,19 @@ class OC_App{ if (OC_User::isLoggedIn()) { // personal menu $settings[] = array( "id" => "personal", "order" => 1, "href" => OC_Helper::linkTo( "settings", "personal.php" ), "name" => $l->t("Personal"), "icon" => OC_Helper::imagePath( "settings", "personal.svg" )); - + // if there're some settings forms if(!empty(self::$settingsForms)) // settings menu $settings[]=array( "id" => "settings", "order" => 1000, "href" => OC_Helper::linkTo( "settings", "settings.php" ), "name" => $l->t("Settings"), "icon" => OC_Helper::imagePath( "settings", "settings.svg" )); - + //SubAdmins are also allowed to access user management if(OC_SubAdmin::isSubAdmin($_SESSION["user_id"]) || OC_Group::inGroup( $_SESSION["user_id"], "admin" )){ // admin users menu $settings[] = array( "id" => "core_users", "order" => 2, "href" => OC_Helper::linkTo( "settings", "users.php" ), "name" => $l->t("Users"), "icon" => OC_Helper::imagePath( "settings", "users.svg" )); } - - + + // if the user is an admin if(OC_Group::inGroup( $_SESSION["user_id"], "admin" )) { // admin apps menu @@ -394,7 +395,7 @@ class OC_App{ return trim($version); }else{ $appData=self::getAppInfo($appid); - return $appData['version']; + return isset($appData['version'])? $appData['version'] : ''; } } diff --git a/lib/connector/sabre/directory.php b/lib/connector/sabre/directory.php index 7f8434c7151..09c65f19b80 100644 --- a/lib/connector/sabre/directory.php +++ b/lib/connector/sabre/directory.php @@ -48,11 +48,23 @@ class OC_Connector_Sabre_Directory extends OC_Connector_Sabre_Node implements Sa * @return null|string */ public function createFile($name, $data = null) { + if (isset($_SERVER['HTTP_OC_CHUNKED'])) { + $info = OC_FileChunking::decodeName($name); + $chunk_handler = new OC_FileChunking($info); + $chunk_handler->store($info['index'], $data); + if ($chunk_handler->isComplete()) { + $newPath = $this->path . '/' . $info['name']; + $f = OC_Filesystem::fopen($newPath, 'w'); + $chunk_handler->assemble($f); + return OC_Connector_Sabre_Node::getETagPropertyForPath($newPath); + } + } else { + $newPath = $this->path . '/' . $name; + OC_Filesystem::file_put_contents($newPath,$data); + return OC_Connector_Sabre_Node::getETagPropertyForPath($newPath); + } - $newPath = $this->path . '/' . $name; - OC_Filesystem::file_put_contents($newPath,$data); - - return OC_Connector_Sabre_Node::getETagPropertyForPath($newPath); + return null; } /** diff --git a/lib/connector/sabre/locks.php b/lib/connector/sabre/locks.php index e95dcf02d27..1db4fc09446 100644 --- a/lib/connector/sabre/locks.php +++ b/lib/connector/sabre/locks.php @@ -41,8 +41,11 @@ class OC_Connector_Sabre_Locks extends Sabre_DAV_Locks_Backend_Abstract { // NOTE: the following 10 lines or so could be easily replaced by // pure sql. MySQL's non-standard string concatination prevents us // from doing this though. - $query = 'SELECT * FROM *PREFIX*locks WHERE userid = ? AND (created + timeout) > ? AND ((uri = ?)'; - $params = array(OC_User::getUser(),time(),$uri); + // NOTE: SQLite requires time() to be inserted directly. That's ugly + // but otherwise reading locks from SQLite Databases will return + // nothing + $query = 'SELECT * FROM *PREFIX*locks WHERE userid = ? AND (created + timeout) > '.time().' AND (( uri = ?)'; + $params = array(OC_User::getUser(),$uri); // We need to check locks for every part in the uri. $uriParts = explode('/',$uri); @@ -70,8 +73,8 @@ class OC_Connector_Sabre_Locks extends Sabre_DAV_Locks_Backend_Abstract { } $query.=')'; - $stmt = OC_DB::prepare($query); - $result = $stmt->execute($params); + $stmt = OC_DB::prepare($query ); + $result = $stmt->execute( $params ); $lockList = array(); while( $row = $result->fetchRow()){ diff --git a/lib/filechunking.php b/lib/filechunking.php new file mode 100644 index 00000000000..d03af226d8b --- /dev/null +++ b/lib/filechunking.php @@ -0,0 +1,94 @@ +<?php +/** + * Copyright (c) 2012 Bart Visscher <bartv@thisnet.nl> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + + +class OC_FileChunking { + protected $info; + protected $cache; + + static public function decodeName($name) { + preg_match('/(?P<name>.*)-chunking-(?P<transferid>\d+)-(?P<chunkcount>\d+)-(?P<index>\d+)/', $name, $matches); + return $matches; + } + + public function __construct($info) { + $this->info = $info; + } + + public function getPrefix() { + $name = $this->info['name']; + $transferid = $this->info['transferid']; + + return $name.'-chunking-'.$transferid.'-'; + } + + protected function getCache() { + if (!isset($this->cache)) { + $this->cache = new OC_Cache_File(); + } + return $this->cache; + } + + public function store($index, $data) { + $cache = $this->getCache(); + $name = $this->getPrefix().$index; + $cache->set($name, $data); + } + + public function isComplete() { + $prefix = $this->getPrefix(); + $parts = 0; + $cache = $this->getCache(); + for($i=0; $i < $this->info['chunkcount']; $i++) { + if ($cache->hasKey($prefix.$i)) { + $parts ++; + } + } + return $parts == $this->info['chunkcount']; + } + + public function assemble($f) { + $cache = $this->getCache(); + $prefix = $this->getPrefix(); + for($i=0; $i < $this->info['chunkcount']; $i++) { + $chunk = $cache->get($prefix.$i); + $cache->remove($prefix.$i); + fwrite($f,$chunk); + } + fclose($f); + } + + public function signature_split($orgfile, $input) { + $info = unpack('n', fread($input, 2)); + $blocksize = $info[1]; + $this->info['transferid'] = mt_rand(); + $count = 0; + $needed = array(); + $cache = $this->getCache(); + $prefix = $this->getPrefix(); + while (!feof($orgfile)) { + $new_md5 = fread($input, 16); + if (feof($input)) { + break; + } + $data = fread($orgfile, $blocksize); + $org_md5 = md5($data, true); + if ($org_md5 == $new_md5) { + $cache->set($prefix.$count, $data); + } else { + $needed[] = $count; + } + $count++; + } + return array( + 'transferid' => $this->info['transferid'], + 'needed' => $needed, + 'count' => $count, + ); + } +} diff --git a/lib/installer.php b/lib/installer.php index a8b56cb34f2..b8a3226aa0b 100644 --- a/lib/installer.php +++ b/lib/installer.php @@ -60,7 +60,7 @@ class OC_Installer{ OC_Log::write('core','No source specified when installing app',OC_Log::ERROR); return false; } - + //download the file if necesary if($data['source']=='http'){ $path=OC_Helper::tmpFile(); @@ -76,7 +76,7 @@ class OC_Installer{ } $path=$data['path']; } - + //detect the archive type $mime=OC_Helper::getMimeType($path); if($mime=='application/zip'){ @@ -89,7 +89,7 @@ class OC_Installer{ OC_Log::write('core','Archives of type '.$mime.' are not supported',OC_Log::ERROR); return false; } - + //extract the archive in a temporary folder $extractDir=OC_Helper::tmpFolder(); OC_Helper::rmdirr($extractDir); @@ -104,7 +104,7 @@ class OC_Installer{ } return false; } - + //load the info.xml file of the app if(!is_file($extractDir.'/appinfo/info.xml')){ //try to find it in a subdir @@ -134,7 +134,7 @@ class OC_Installer{ } // check if the app is compatible with this version of ownCloud - $version=OC_Util::getVersion(); + $version=OC_Util::getVersion(); if(!isset($info['require']) or ($version[0]>$info['require'])){ OC_Log::write('core','App can\'t be installed because it is not compatible with this version of ownCloud',OC_Log::ERROR); OC_Helper::rmdirr($extractDir); @@ -161,11 +161,11 @@ class OC_Installer{ } return false; } - + if(isset($data['pretent']) and $data['pretent']==true){ return false; } - + //copy the app to the correct place if(@!mkdir($basedir)){ OC_Log::write('core','Can\'t create app folder. Please fix permissions. ('.$basedir.')',OC_Log::ERROR); @@ -176,34 +176,34 @@ class OC_Installer{ return false; } OC_Helper::copyr($extractDir,$basedir); - + //remove temporary files OC_Helper::rmdirr($extractDir); - + //install the database if(is_file($basedir.'/appinfo/database.xml')){ OC_DB::createDbFromStructure($basedir.'/appinfo/database.xml'); } - + //run appinfo/install.php if((!isset($data['noinstall']) or $data['noinstall']==false) and file_exists($basedir.'/appinfo/install.php')){ include($basedir.'/appinfo/install.php'); } - + //set the installed version OC_Appconfig::setValue($info['id'],'installed_version',OC_App::getAppVersion($info['id'])); OC_Appconfig::setValue($info['id'],'enabled','no'); //set remote/public handelers foreach($info['remote'] as $name=>$path){ - OCP\CONFIG::setAppValue('core', 'remote_'.$name, $app.'/'.$path); + OCP\CONFIG::setAppValue('core', 'remote_'.$name, $info['id'].'/'.$path); } foreach($info['public'] as $name=>$path){ - OCP\CONFIG::setAppValue('core', 'public_'.$name, $app.'/'.$path); + OCP\CONFIG::setAppValue('core', 'public_'.$name, $info['id'].'/'.$path); } OC_App::setAppTypes($info['id']); - + return $info['id']; } @@ -324,7 +324,7 @@ class OC_Installer{ } $info=OC_App::getAppInfo($app); OC_Appconfig::setValue($app,'installed_version',OC_App::getAppVersion($app)); - + //set remote/public handelers foreach($info['remote'] as $name=>$path){ OCP\CONFIG::setAppValue('core', 'remote_'.$name, $app.'/'.$path); @@ -332,10 +332,10 @@ class OC_Installer{ foreach($info['public'] as $name=>$path){ OCP\CONFIG::setAppValue('core', 'public_'.$name, $app.'/'.$path); } - + OC_App::setAppTypes($info['id']); - - return $info; + + return $info['id']; } @@ -355,7 +355,7 @@ class OC_Installer{ ); // is the code checker enabled? - if(OC_Config::getValue('appcodechecker', false)){ + if(OC_Config::getValue('appcodechecker', false)){ // check if grep is installed $grep = exec('which grep'); @@ -375,7 +375,7 @@ class OC_Installer{ } } return true; - + }else{ return true; } diff --git a/lib/l10n/eo.php b/lib/l10n/eo.php new file mode 100644 index 00000000000..96bcb06a8d7 --- /dev/null +++ b/lib/l10n/eo.php @@ -0,0 +1,24 @@ +<?php $TRANSLATIONS = array( +"Help" => "Helpo", +"Personal" => "Persona", +"Settings" => "Agordo", +"Users" => "Uzantoj", +"Apps" => "Aplikaĵoj", +"ZIP download is turned off." => "ZIP-elŝuto estas malkapabligita.", +"Files need to be downloaded one by one." => "Dosieroj devas elŝutiĝi unuope.", +"Back to Files" => "Reen al la dosieroj", +"Selected files too large to generate zip file." => "La elektitaj dosieroj tro grandas por genero de ZIP-dosiero.", +"Application is not enabled" => "La aplikaĵo ne estas kapabligita", +"Authentication error" => "Aŭtentiga eraro", +"Token expired. Please reload page." => "Ĵetono eksvalidiĝis. Bonvolu reŝargi la paĝon.", +"seconds ago" => "sekundojn antaŭe", +"1 minute ago" => "antaŭ 1 minuto", +"%d minutes ago" => "antaŭ %d minutoj", +"today" => "hodiaŭ", +"yesterday" => "hieraŭ", +"%d days ago" => "antaŭ %d tagoj", +"last month" => "lasta monato", +"months ago" => "monatojn antaŭe", +"last year" => "lasta jaro", +"years ago" => "jarojn antaŭe" +); diff --git a/lib/l10n/es.php b/lib/l10n/es.php new file mode 100644 index 00000000000..174fe0720fd --- /dev/null +++ b/lib/l10n/es.php @@ -0,0 +1,25 @@ +<?php $TRANSLATIONS = array( +"Help" => "Ayuda", +"Personal" => "Personal", +"Settings" => "Ajustes", +"Users" => "Usuarios", +"Apps" => "Aplicaciones", +"Admin" => "Administración", +"ZIP download is turned off." => "La descarga en ZIP está desactivada.", +"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.", +"Application is not enabled" => "La aplicación no está habilitada", +"Authentication error" => "Error de autenticación", +"Token expired. Please reload page." => "Token expirado. Por favor, recarga la página.", +"seconds ago" => "hace segundos", +"1 minute ago" => "hace 1 minuto", +"%d minutes ago" => "hace %d minutos", +"today" => "hoy", +"yesterday" => "ayer", +"%d days ago" => "hace %d días", +"last month" => "este mes", +"months ago" => "hace meses", +"last year" => "este año", +"years ago" => "hace años" +); diff --git a/lib/l10n/et_EE.php b/lib/l10n/et_EE.php new file mode 100644 index 00000000000..d8da90a3cbf --- /dev/null +++ b/lib/l10n/et_EE.php @@ -0,0 +1,25 @@ +<?php $TRANSLATIONS = array( +"Help" => "Abiinfo", +"Personal" => "Isiklik", +"Settings" => "Seaded", +"Users" => "Kasutajad", +"Apps" => "Rakendused", +"Admin" => "Admin", +"ZIP download is turned off." => "ZIP-ina allalaadimine on välja lülitatud.", +"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.", +"Application is not enabled" => "Rakendus pole sisse lülitatud", +"Authentication error" => "Autentimise viga", +"Token expired. Please reload page." => "Kontrollkood aegus. Paelun lae leht uuesti.", +"seconds ago" => "sekundit tagasi", +"1 minute ago" => "1 minut tagasi", +"%d minutes ago" => "%d minutit tagasi", +"today" => "täna", +"yesterday" => "eile", +"%d days ago" => "%d päeva tagasi", +"last month" => "eelmisel kuul", +"months ago" => "kuud tagasi", +"last year" => "eelmisel aastal", +"years ago" => "aastat tagasi" +); diff --git a/lib/l10n/fi_FI.php b/lib/l10n/fi_FI.php index 81f4aa95840..dda2c760373 100644 --- a/lib/l10n/fi_FI.php +++ b/lib/l10n/fi_FI.php @@ -1,5 +1,6 @@ <?php $TRANSLATIONS = array( "Help" => "Ohje", +"Personal" => "Henkilökohtainen", "Settings" => "Asetukset", "Users" => "Käyttäjät", "Apps" => "Sovellukset", @@ -8,7 +9,9 @@ "Files need to be downloaded one by one." => "Tiedostot on ladattava yksittäin.", "Back to Files" => "Takaisin tiedostoihin", "Selected files too large to generate zip file." => "Valitut tiedostot ovat liian suurikokoisia mahtuakseen zip-tiedostoon.", +"Application is not enabled" => "Sovellusta ei ole otettu käyttöön", "Authentication error" => "Todennusvirhe", +"Token expired. Please reload page." => "Valtuutus vanheni. Lataa sivu uudelleen.", "seconds ago" => "sekuntia sitten", "1 minute ago" => "1 minuutti sitten", "%d minutes ago" => "%d minuuttia sitten", diff --git a/lib/l10n/fr.php b/lib/l10n/fr.php new file mode 100644 index 00000000000..c674b79b959 --- /dev/null +++ b/lib/l10n/fr.php @@ -0,0 +1,25 @@ +<?php $TRANSLATIONS = array( +"Help" => "Aide", +"Personal" => "Personnel", +"Settings" => "Paramètres", +"Users" => "Utilisateurs", +"Apps" => "Applications", +"Admin" => "Administration", +"ZIP download is turned off." => "Téléchargement ZIP désactivé.", +"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.", +"Application is not enabled" => "L'application n'est pas activée", +"Authentication error" => "Erreur d'authentification", +"Token expired. Please reload page." => "La session a expiré. Veuillez recharger la page.", +"seconds ago" => "à l'instant", +"1 minute ago" => "il y a 1 minute", +"%d minutes ago" => "il y a %d minutes", +"today" => "aujourd'hui", +"yesterday" => "hier", +"%d days ago" => "il y a %d jours", +"last month" => "le mois dernier", +"months ago" => "il y a plusieurs mois", +"last year" => "l'année dernière", +"years ago" => "il y a plusieurs années" +); diff --git a/lib/l10n/it.php b/lib/l10n/it.php new file mode 100644 index 00000000000..2c88818dc6c --- /dev/null +++ b/lib/l10n/it.php @@ -0,0 +1,25 @@ +<?php $TRANSLATIONS = array( +"Help" => "Aiuto", +"Personal" => "Personale", +"Settings" => "Impostazioni", +"Users" => "Utenti", +"Apps" => "Applicazioni", +"Admin" => "Admin", +"ZIP download is turned off." => "Lo scaricamento in formato ZIP è stato disabilitato.", +"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.", +"Application is not enabled" => "L'applicazione non è abilitata", +"Authentication error" => "Errore di autenticazione", +"Token expired. Please reload page." => "Token scaduto. Ricarica la pagina.", +"seconds ago" => "secondi fa", +"1 minute ago" => "1 minuto fa", +"%d minutes ago" => "%d minuti fa", +"today" => "oggi", +"yesterday" => "ieri", +"%d days ago" => "%d giorni fa", +"last month" => "il mese scorso", +"months ago" => "mesi fa", +"last year" => "l'anno scorso", +"years ago" => "anni fa" +); diff --git a/lib/l10n/uk.php b/lib/l10n/uk.php new file mode 100644 index 00000000000..18f6a4a623d --- /dev/null +++ b/lib/l10n/uk.php @@ -0,0 +1,24 @@ +<?php $TRANSLATIONS = array( +"Help" => "Допомога", +"Personal" => "Особисте", +"Settings" => "Налаштування", +"Users" => "Користувачі", +"Apps" => "Додатки", +"Admin" => "Адмін", +"ZIP download is turned off." => "ZIP завантаження вимкнено.", +"Files need to be downloaded one by one." => "Файли повинні бути завантаженні послідовно.", +"Back to Files" => "Повернутися до файлів", +"Selected files too large to generate zip file." => "Вибрані фали завеликі для генерування zip файлу.", +"Application is not enabled" => "Додаток не увімкнений", +"Authentication error" => "Помилка автентифікації", +"seconds ago" => "секунди тому", +"1 minute ago" => "1 хвилину тому", +"%d minutes ago" => "%d хвилин тому", +"today" => "сьогодні", +"yesterday" => "вчора", +"%d days ago" => "%d днів тому", +"last month" => "минулого місяця", +"months ago" => "місяці тому", +"last year" => "минулого року", +"years ago" => "роки тому" +); diff --git a/lib/mimetypes.list.php b/lib/mimetypes.list.php index f7207493f7f..37d50756d57 100644 --- a/lib/mimetypes.list.php +++ b/lib/mimetypes.list.php @@ -55,6 +55,9 @@ return array( 'ods'=>'application/vnd.oasis.opendocument.spreadsheet', 'odg'=>'application/vnd.oasis.opendocument.graphics', 'odp'=>'application/vnd.oasis.opendocument.presentation', + 'pages'=>'application/x-iwork-pages-sffpages', + 'numbers'=>'application/x-iwork-numbers-sffnumbers', + 'keynote'=>'application/x-iwork-keynote-sffkey', 'kra'=>'application/x-krita', 'mp3'=>'audio/mpeg', 'doc'=>'application/msword', diff --git a/lib/public/app.php b/lib/public/app.php index 5689f53ffb2..e74f1550740 100644 --- a/lib/public/app.php +++ b/lib/public/app.php @@ -46,7 +46,7 @@ class App { * */ public static function register( $data ){ - return \OC_App::register( $data ); + return true; // don't do anything } /** diff --git a/lib/util.php b/lib/util.php index 6e62ed9bf58..f26fa63e446 100755 --- a/lib/util.php +++ b/lib/util.php @@ -343,10 +343,16 @@ class OC_Util { $location = $_REQUEST['redirect_url']; } else if (isset(OC::$REQUESTEDAPP) && !empty(OC::$REQUESTEDAPP)) { - $location = OC::$WEBROOT.'/?app='.OC::$REQUESTEDAPP; + $location = OC_Helper::linkToAbsolute( OC::$REQUESTEDAPP, 'index.php' ); } else { - $location = OC::$WEBROOT.'/'.OC_Appconfig::getValue('core', 'defaultpage', '?app=files'); + $defaultpage = OC_Appconfig::getValue('core', 'defaultpage'); + if ($defaultpage) { + $location = OC_Helper::serverProtocol().'://'.OC_Helper::serverHost().OC::$WEBROOT.'/'.$defaultpage; + } + else { + $location = OC_Helper::linkToAbsolute( 'files', 'index.php' ); + } } OC_Log::write('core', 'redirectToDefaultPage: '.$location, OC_Log::DEBUG); header( 'Location: '.$location ); |