示例#1
0
 public static function showFromModel($media, $destWidth = 64, $destHeight = 64, $ratio = RatioType::SMART, $compression = 10, $canZoom = false)
 {
     if (!isset($media)) {
         $media = new \Rebond\Core\Media\Model();
     }
     return self::show(\Rebond\Config::getPath('media'), \Rebond\Config::getPath('siteUrl') . \Rebond\Config::getPath('mediaFolder'), $media->getPath(), $media->getUpload(), $destWidth, $destHeight, $ratio, $compression, $canZoom);
 }
示例#2
0
 protected static function mapper(array $row, $alias = 'media')
 {
     $model = new \Rebond\Core\Media\Model(false);
     if (isset($row[$alias . 'Id'])) {
         $model->setId($row[$alias . 'Id']);
     }
     if (isset($row[$alias . 'FolderId'])) {
         $model->setFolderId($row[$alias . 'FolderId']);
         $model->setFolder(\Rebond\Core\Folder\Data::join($row, $alias . '_folder'));
     }
     if (isset($row[$alias . 'Title'])) {
         $model->setTitle($row[$alias . 'Title']);
     }
     if (isset($row[$alias . 'Tags'])) {
         $model->setTags($row[$alias . 'Tags']);
     }
     if (isset($row[$alias . 'Upload'])) {
         $model->setUpload($row[$alias . 'Upload']);
     }
     if (isset($row[$alias . 'OriginalFilename'])) {
         $model->setOriginalFilename($row[$alias . 'OriginalFilename']);
     }
     if (isset($row[$alias . 'Path'])) {
         $model->setPath($row[$alias . 'Path']);
     }
     if (isset($row[$alias . 'Extension'])) {
         $model->setExtension($row[$alias . 'Extension']);
     }
     if (isset($row[$alias . 'MimeType'])) {
         $model->setMimeType($row[$alias . 'MimeType']);
     }
     if (isset($row[$alias . 'FileSize'])) {
         $model->setFileSize($row[$alias . 'FileSize']);
     }
     if (isset($row[$alias . 'Width'])) {
         $model->setWidth($row[$alias . 'Width']);
     }
     if (isset($row[$alias . 'Height'])) {
         $model->setHeight($row[$alias . 'Height']);
     }
     if (isset($row[$alias . 'Alt'])) {
         $model->setAlt($row[$alias . 'Alt']);
     }
     if (isset($row[$alias . 'IsSelectable'])) {
         $model->setIsSelectable($row[$alias . 'IsSelectable']);
     }
     if (isset($row[$alias . 'Status'])) {
         $model->setStatus($row[$alias . 'Status']);
     }
     if (isset($row[$alias . 'CreatedDate'])) {
         $model->setCreatedDate($row[$alias . 'CreatedDate']);
     }
     if (isset($row[$alias . 'ModifiedDate'])) {
         $model->setModifiedDate($row[$alias . 'ModifiedDate']);
     }
     return $model;
 }
示例#3
0
 public function uploadify()
 {
     $json = [];
     $json['result'] = ResultType::ERROR;
     // check
     $id = Converter::int('userId', 'post', 0);
     $this->signedUser = \Rebond\Core\User\Data::loadById($id);
     if (!isset($this->signedUser)) {
         $json['message'] = Lang::lang('accessNonAuthorized');
         return json_encode($json);
     }
     if (!$this->hasPrivilege('admin.media.upload')) {
         return $this->noPrivilege('admin.media.upload');
     }
     $folderId = Converter::int('folderId', 'post');
     $isSelectable = Converter::int('isSelectable', 'post', 1);
     if (!isset($folderId)) {
         $json['message'] = Lang::lang('errorInvalidParameters');
         return json_encode($json);
     }
     $upload = \Rebond\Util\Media::upload('', $_FILES['Filedata']);
     $originalName = $_FILES['Filedata']['name'];
     if ($upload == ResultType::ERROR) {
         $json['message'] = Lang::lang('errorFileUpload', [$originalName]);
         Log::log(Error::MEDIA_NOT_SAVED, $json['message'], __FILE__, __LINE__);
         return json_encode($json);
     }
     list($w, $h) = getimagesize(\Rebond\Config::getPath('media') . $upload);
     $ext = \Rebond\Util\File::getExtension(\Rebond\Config::getPath('media') . $upload);
     $noExt = \Rebond\Util\File::getNoExtension($originalName);
     $media = new \Rebond\Core\Media\Model();
     $media->setFolderId($folderId);
     $media->setTitle($noExt);
     $media->setAlt($noExt);
     $media->setOriginalFilename($originalName);
     $media->setExtension($ext);
     $media->setWidth($w);
     $media->setHeight($h);
     $media->setFilesize(filesize(\Rebond\Config::getPath('media') . $upload));
     $mimeType = new \finfo(FILEINFO_MIME_TYPE);
     $media->setMimetype($mimeType->file(\Rebond\Config::getPath('media') . $upload));
     $media->setUpload($upload);
     $media->setIsSelectable($isSelectable);
     $media->save();
     $json['result'] = ResultType::SUCCESS;
     $json['id'] = $media->getId();
     $json['message'] = Lang::lang('mediaUploaded', [$originalName]);
     return json_encode($json);
 }