X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Fmediafile.php;h=e3d5b1dbcc40a1a7cbf58af5d4c316ff221f5af9;hb=cac6d4234a4ef8fea1d487f44062ae06dd9c0c52;hp=31868daec8a0418bff11a0745bb4f209ffb94d2f;hpb=2d0aba49d913b7d4598073d5ff56237f736731d0;p=quix0rs-gnu-social.git diff --git a/lib/mediafile.php b/lib/mediafile.php index 31868daec8..e3d5b1dbcc 100644 --- a/lib/mediafile.php +++ b/lib/mediafile.php @@ -1,8 +1,10 @@ * @author Zach Copley * @copyright 2008-2009 StatusNet, Inc. * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 @@ -47,39 +50,21 @@ class MediaFile $this->user = common_current_user(); } - common_debug('in MediaFile constructor'); - - $this->filename = $filename; - $this->mimetype = $mimetype; - - common_debug('storing file'); + $this->filename = $filename; + $this->mimetype = $mimetype; $this->fileRecord = $this->storeFile(); - common_debug('finished storing file'); $this->fileurl = common_local_url('attachment', array('attachment' => $this->fileRecord->id)); - common_debug('$this->fileurl() = ' . $this->fileurl); - - // not sure this is necessary -- Zach $this->maybeAddRedir($this->fileRecord->id, $this->fileurl); - - common_debug('shortening file url'); $this->short_fileurl = common_shorten_url($this->fileurl); - common_debug('shortened file url = ' . $short_fileurl); - - // Also, not sure this is necessary -- Zach $this->maybeAddRedir($this->fileRecord->id, $this->short_fileurl); - - common_debug("MediaFile: end of constructor"); } function attachToNotice($notice) { - common_debug('MediaFile::attachToNotice() -- doing File_to_post'); File_to_post::processNew($this->fileRecord->id, $notice->id); - common_debug('MediaFile done doing File_to_post'); - $this->maybeAddRedir($this->fileRecord->id, common_local_url('file', array('notice' => $notice->id))); } @@ -98,31 +83,21 @@ class MediaFile function storeFile() { $file = new File; - $file->filename = $this->filename; - - common_debug('storing ' . $this->filename); - - $file->url = File::url($this->filename); - common_debug('file->url = ' . $file->url); - - $filepath = File::path($this->filename); - common_debug('filepath = ' . $filepath); - $file->size = filesize($filepath); - $file->date = time(); + $file->filename = $this->filename; + $file->url = File::url($this->filename); + $filepath = File::path($this->filename); + $file->size = filesize($filepath); + $file->date = time(); $file->mimetype = $this->mimetype; $file_id = $file->insert(); if (!$file_id) { - - common_debug("storeFile: problem inserting new file"); common_log_db_error($file, "INSERT", __FILE__); throw new ClientException(_('There was a database error while saving your file. Please try again.')); } - common_debug('finished storing file'); - return $file; } @@ -133,15 +108,10 @@ class MediaFile function maybeAddRedir($file_id, $url) { - - common_debug("maybeAddRedir: looking up url: $url for file id $file_id"); - $file_redir = File_redirection::staticGet('url', $url); if (empty($file_redir)) { - common_debug("maybeAddRedir: $url is not in the db"); - $file_redir = new File_redirection; $file_redir->url = $url; $file_redir->file_id = $file_id; @@ -152,22 +122,16 @@ class MediaFile common_log_db_error($file_redir, "INSERT", __FILE__); throw new ClientException(_('There was a database error while saving your file. Please try again.')); } - } else { - - common_debug("maybeAddRedir: no need to add $url, it's already in the db"); } } static function fromUpload($param = 'media', $user = null) { - common_debug("fromUpload: param = $param"); - if (empty($user)) { $user = common_current_user(); } if (!isset($_FILES[$param]['error'])){ - common_debug('no file found'); return; } @@ -188,6 +152,9 @@ class MediaFile throw new ClientException(_('The uploaded file was only' . ' partially uploaded.')); return; + case UPLOAD_ERR_NO_FILE: + // No file; probably just a non-AJAX submission. + return; case UPLOAD_ERR_NO_TMP_DIR: throw new ClientException(_('Missing a temporary folder.')); return; @@ -198,6 +165,8 @@ class MediaFile throw new ClientException(_('File upload stopped by extension.')); return; default: + common_log(LOG_ERR, __METHOD__ . ": Unknown upload error " . + $_FILES[$param]['error']); throw new ClientException(_('System error uploading file.')); return; } @@ -207,7 +176,7 @@ class MediaFile // Should never actually get here @unlink($_FILES[$param]['tmp_name']); - throw new ClientException(_('File exceeds user\'s quota!')); + throw new ClientException(_('File exceeds user\'s quota.')); return; } @@ -221,8 +190,6 @@ class MediaFile $filename = File::filename($user->getProfile(), $basename, $mimetype); $filepath = File::path($filename); - common_debug("filepath = " . $filepath); - $result = move_uploaded_file($_FILES[$param]['tmp_name'], $filepath); if (!$result) { @@ -231,7 +198,7 @@ class MediaFile } } else { - throw new ClientException(_('Could not determine file\'s mime-type!')); + throw new ClientException(_('Could not determine file\'s MIME type.')); return; } @@ -242,11 +209,11 @@ class MediaFile $stream = stream_get_meta_data($fh); - if (MediaFile::respectsQuota($user, filesize($stream['uri']))) { + if (!MediaFile::respectsQuota($user, filesize($stream['uri']))) { // Should never actually get here - throw new ClientException(_('File exceeds user\'s quota!')); + throw new ClientException(_('File exceeds user\'s quota.')); return; } @@ -267,7 +234,7 @@ class MediaFile $stream['uri'] . ' ' . $filepath)); } } else { - throw new ClientException(_('Could not determine file\'s mime-type!')); + throw new ClientException(_('Could not determine file\'s MIME type.')); return; } @@ -277,8 +244,6 @@ class MediaFile static function getUploadedFileType($f) { require_once 'MIME/Type.php'; - common_debug("in getUploadedFileType"); - $cmd = &PEAR::getStaticProperty('MIME_Type', 'fileCmd'); $cmd = common_config('attachments', 'filecommand'); @@ -307,7 +272,7 @@ class MediaFile $hint = ''; } throw new ClientException(sprintf( - _('%s is not a supported filetype on this server.'), $filetype) . $hint); + _('%s is not a supported file type on this server.'), $filetype) . $hint); } static function respectsQuota($user, $filesize) @@ -321,4 +286,4 @@ class MediaFile } } -} \ No newline at end of file +}