diff options
author | Michael Gapczynski <GapczynskiM@gmail.com> | 2011-07-20 14:30:19 -0400 |
---|---|---|
committer | Michael Gapczynski <GapczynskiM@gmail.com> | 2011-07-20 14:30:19 -0400 |
commit | abf6ba621a4ae62eb84d6218319cc9b631e6de03 (patch) | |
tree | 17e46792500d3720c8ead4cbd51877df1713bfcc /lib | |
parent | c9082d5b0d1fa8be7c916208a661388a108c6919 (diff) | |
parent | 3fab6016f9a9b9648626e5ebdaa4ea25d5104443 (diff) | |
download | nextcloud-server-abf6ba621a4ae62eb84d6218319cc9b631e6de03.tar.gz nextcloud-server-abf6ba621a4ae62eb84d6218319cc9b631e6de03.zip |
Merge branch 'master' into sharing
Diffstat (limited to 'lib')
-rw-r--r-- | lib/filestorage.php | 70 | ||||
-rw-r--r-- | lib/mimetypes.list.php | 81 | ||||
-rw-r--r-- | lib/setup.php | 6 | ||||
-rw-r--r-- | lib/user.php | 16 |
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); + } } |