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); }
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; }
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); }