summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorMichael Gapczynski <GapczynskiM@gmail.com>2011-07-20 14:30:19 -0400
committerMichael Gapczynski <GapczynskiM@gmail.com>2011-07-20 14:30:19 -0400
commitabf6ba621a4ae62eb84d6218319cc9b631e6de03 (patch)
tree17e46792500d3720c8ead4cbd51877df1713bfcc /lib
parentc9082d5b0d1fa8be7c916208a661388a108c6919 (diff)
parent3fab6016f9a9b9648626e5ebdaa4ea25d5104443 (diff)
downloadnextcloud-server-abf6ba621a4ae62eb84d6218319cc9b631e6de03.tar.gz
nextcloud-server-abf6ba621a4ae62eb84d6218319cc9b631e6de03.zip
Merge branch 'master' into sharing
Diffstat (limited to 'lib')
-rw-r--r--lib/filestorage.php70
-rw-r--r--lib/mimetypes.list.php81
-rw-r--r--lib/setup.php6
-rw-r--r--lib/user.php16
4 files changed, 107 insertions, 66 deletions
diff --git a/lib/filestorage.php b/lib/filestorage.php
index 819ad2e60b3..c2614dc5dcf 100644
--- a/lib/filestorage.php
+++ b/lib/filestorage.php
@@ -65,6 +65,7 @@ OC_FILESYSTEM::registerStorageType('local','OC_FILESTORAGE_LOCAL',array('datadir
*/
class OC_FILESTORAGE_LOCAL extends OC_FILESTORAGE{
private $datadir;
+ private static $mimetypes=null;
public function __construct($arguments){
$this->datadir=$arguments['datadir'];
if(substr($this->datadir,-1)!=='/'){
@@ -209,71 +210,14 @@ class OC_FILESTORAGE_LOCAL extends OC_FILESTORAGE{
$mime_type=substr($reply,0,strrpos($reply,' '));
}
if (empty($mime_type)) {
- // Fallback solution: try to guess the type by the file extension
- // TODO: add more ...
- switch (strtolower(strrchr(basename($fspath), "."))) {
- case '.css':
- $mime_type = 'text/css';
- break;
- case '.flac':
- $mime_type = 'audio/flac';
- break;
- case '.gif':
- $mime_type = 'image/gif';
- break;
- case '.gzip':
- case '.gz':
- $mime_type = 'application/x-gzip';
- break;
- case '.htm':
- case '.html':
- $mime_type = 'text/html';
- break;
- case '.jpeg':
- case '.jpg':
- $mime_type = 'image/jpeg';
- break;
- case '.js':
- $mime_type = 'application/x-javascript';
- break;
- case '.oga':
- case '.ogg':
- $mime_type = 'audio/ogg';
- break;
- case '.ogv':
- $mime_type = 'video/ogg';
- break;
- case '.pdf':
- $mime_type = 'application/pdf';
- break;
- case '.png':
- $mime_type = 'image/png';
- break;
- case '.svg':
- $mime_type = 'image/svg+xml';
- break;
- case '.tar':
- $mime_type = 'application/x-tar';
- break;
- case '.tgz':
- $mime_type = 'application/x-compressed';
- break;
- case '.tif':
- case '.tiff':
- $mime_type = 'image/tiff';
- break;
- case '.txt':
- $mime_type = 'text/plain';
- break;
- case '.zip':
- $mime_type = 'application/zip';
- break;
- default:
- $mime_type = 'application/octet-stream';
- break;
+ // Fallback solution: (try to guess the type by the file extension
+ if(!self::$mimetypes){
+ self::$mimetypes=include('mimetypes.list.php');
}
+ $extention=strtolower(strrchr(basename($fspath), "."));
+ $extention=substr($extention,1);//remove leading .
+ $mime_type=(isset(self::$mimetypes[$extention]))?self::$mimetypes[$extention]:'application/octet-stream';
}
-
return $mime_type;
}
}
diff --git a/lib/mimetypes.list.php b/lib/mimetypes.list.php
new file mode 100644
index 00000000000..6d8b3b9abce
--- /dev/null
+++ b/lib/mimetypes.list.php
@@ -0,0 +1,81 @@
+<?php
+/**
+* ownCloud
+*
+* @author Robin Appelman
+* @copyright 2011 Robin Appelman icewind1991@gmail.com
+*
+* This library is free software; you can redistribute it and/or
+* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+* License as published by the Free Software Foundation; either
+* version 3 of the License, or any later version.
+*
+* This library is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+*
+* You should have received a copy of the GNU Affero General Public
+* License along with this library. If not, see <http://www.gnu.org/licenses/>.
+*
+*/
+
+/**
+ * list of mimetypes by extention
+ */
+
+return array(
+ 'css'=>'text/css',
+ 'flac'=>'audio/flac',
+ 'gif'=>'image/gif',
+ 'gzip'=>'application/x-gzip',
+ 'gz'=>'application/x-gzip',
+ 'html'=>'text/html',
+ 'htm'=>'text/html',
+ 'jpeg'=>'image/jpeg',
+ 'jpg'=>'image/jpeg',
+ 'js'=>'application/javascript',
+ 'oga'=>'audio/ogg',
+ 'ogg'=>'audio/ogg',
+ 'ogv'=>'video/ogg',
+ 'pdf'=>'application/pdf',
+ 'png'=>'image/png',
+ 'svg'=>'image/svg+xml',
+ 'tar'=>'application/x-tar',
+ 'tgz'=>'application/x-compressed',
+ 'tar.gz'=>'application/x-compressed',
+ 'tif'=>'image/tiff',
+ 'tiff'=>'image/tiff',
+ 'txt'=>'text/plain',
+ 'zip'=>'application/zip',
+ 'wav'=>'audio/wav',
+ 'odt'=>'application/vnd.oasis.opendocument.text',
+ 'ods'=>'application/vnd.oasis.opendocument.spreadsheet',
+ 'odg'=>'application/vnd.oasis.opendocument.graphics',
+ 'odp'=>'application/vnd.oasis.opendocument.presentation',
+ 'kra'=>'application/x-krita',
+ 'mp3'=>'audio/mpeg',
+ 'doc'=>'application/msword',
+ 'docx'=>'application/msword',
+ 'xls'=>'application/msexcel',
+ 'xlsx'=>'application/msexcel',
+ 'php'=>'application/x-php',
+ 'exe'=>'application/x-ms-dos-executable',
+ 'pl'=>'application/x-pearl',
+ 'py'=>'application/x-python',
+ 'blend'=>'application/x-blender',
+ 'xcf'=>'application/x-gimp',
+ 'psd'=>'application/x-photoshop',
+ 'xml'=>'application/xml',
+ 'avi'=>'video/x-msvideo',
+ 'dv'=>'video/dv',
+ 'm2t'=>'video/mp2t',
+ 'mp4'=>'video/mp4',
+ 'm4v'=>'video/mp4',
+ 'mpg'=>'video/mpeg',
+ 'mpeg'=>'video/mpeg',
+ 'mov'=>'video/quicktime',
+ 'webm'=>'video/webm',
+ 'wmv'=>'video/x-ms-asf'
+);
+?> \ No newline at end of file
diff --git a/lib/setup.php b/lib/setup.php
index 1be4dea286d..1a33209ec57 100644
--- a/lib/setup.php
+++ b/lib/setup.php
@@ -102,12 +102,12 @@ class OC_SETUP {
//add prefix to the mysql user name to prevent collissions
$dbusername='oc_mysql_'.$username;
//hash the password so we don't need to store the admin config in the config file
- $dbpassowrd=md5(time().$password);
+ $dbpassword=md5(time().$password);
- self::createDBUser($dbusername, $dbpassowrd, $connection);
+ self::createDBUser($dbusername, $dbpassword, $connection);
OC_CONFIG::setValue('dbuser', $dbusername);
- OC_CONFIG::setValue('dbpassword', $dbpassowrd);
+ OC_CONFIG::setValue('dbpassword', $dbpassword);
//create the database
self::createDatabase($dbname, $dbusername, $connection);
diff --git a/lib/user.php b/lib/user.php
index 25f555b47b1..a64ce05f2c9 100644
--- a/lib/user.php
+++ b/lib/user.php
@@ -337,4 +337,20 @@ class OC_USER {
}
return false;
}
+
+ /**
+ * @brief Set cookie value to use in next page load
+ * @param string $username username to be set
+ */
+ public static function setUsernameInCookie($username){
+ setcookie("username", $username, mktime().time()+60*60*24*15);
+ }
+
+ /**
+ * @brief Remove cookie for "remember username"
+ */
+ public static function unsetUsernameInCookie(){
+ unset($_COOKIE["username"]);
+ setcookie("username", NULL, -1);
+ }
}