- function saveFile($user, $attachment, $mimetype) {
-
- $filename = File::filename($user->getProfile(), "email", $mimetype);
-
- $filepath = File::path($filename);
-
- $stream = stream_get_meta_data($attachment);
- if (copy($stream['uri'], $filepath) && chmod($filepath,0664)) {
- return $filename;
- } else {
- $this->error(null,_('File could not be moved to destination directory.' . $stream['uri'] . ' ' . $filepath));
- }
- }
-
- function storeFile($filename, $mimetype) {
-
- $file = new File;
- $file->filename = $filename;
-
- $file->url = File::url($filename);
-
- $filepath = File::path($filename);
-
- $file->size = filesize($filepath);
- $file->date = time();
- $file->mimetype = $mimetype;
-
- $file_id = $file->insert();
-
- if (!$file_id) {
- common_log_db_error($file, "INSERT", __FILE__);
- $this->error(null,_('There was a database error while saving your file. Please try again.'));
- }
-
- return $file;
- }
-
- function maybeAddRedir($file_id, $url)
- {
- $file_redir = File_redirection::staticGet('url', $url);
-
- if (empty($file_redir)) {
- $file_redir = new File_redirection;
- $file_redir->url = $url;
- $file_redir->file_id = $file_id;
-
- $result = $file_redir->insert();
-
- if (!$result) {
- common_log_db_error($file_redir, "INSERT", __FILE__);
- $this->error(null,_('There was a database error while saving your file. Please try again.'));
- }
- }
- }
-
- function getUploadedFileType($fileHandle) {
- require_once 'MIME/Type.php';
-
- $cmd = &PEAR::getStaticProperty('MIME_Type', 'fileCmd');
- $cmd = common_config('attachments', 'filecommand');
-
- $stream = stream_get_meta_data($fileHandle);
- $filetype = MIME_Type::autoDetect($stream['uri']);
- if (in_array($filetype, common_config('attachments', 'supported'))) {
- return $filetype;
- }
- $media = MIME_Type::getMedia($filetype);
- if ('application' !== $media) {
- $hint = sprintf(_(' Try using another %s format.'), $media);
- } else {
- $hint = '';
- }
- $this->error(null,sprintf(
- _('%s is not a supported filetype on this server.'), $filetype) . $hint);
- }
-
- function isRespectsQuota($user,$fileSize) {
- $file = new File;
- $ret = $file->isRespectsQuota($user,$fileSize);
- if (true === $ret) return true;
- $this->error(null,$ret);
- }
-