18f406d97b
Currently fighting between sortable and tinymce mechanisms which prevent this working due to the different events stopping the drop event while needing the dragover for cursor placement.
51 lines
1.1 KiB
PHP
51 lines
1.1 KiB
PHP
<?php namespace BookStack\Uploads;
|
|
|
|
use BookStack\Entities\Page;
|
|
use BookStack\Ownable;
|
|
|
|
class Attachment extends Ownable
|
|
{
|
|
protected $fillable = ['name', 'order'];
|
|
|
|
/**
|
|
* Get the downloadable file name for this upload.
|
|
* @return mixed|string
|
|
*/
|
|
public function getFileName()
|
|
{
|
|
if (strpos($this->name, '.') !== false) {
|
|
return $this->name;
|
|
}
|
|
return $this->name . '.' . $this->extension;
|
|
}
|
|
|
|
/**
|
|
* Get the page this file was uploaded to.
|
|
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
|
|
*/
|
|
public function page()
|
|
{
|
|
return $this->belongsTo(Page::class, 'uploaded_to');
|
|
}
|
|
|
|
/**
|
|
* Get the url of this file.
|
|
*/
|
|
public function getUrl(): string
|
|
{
|
|
if ($this->external && strpos($this->path, 'http') !== 0) {
|
|
return $this->path;
|
|
}
|
|
return url('/attachments/' . $this->id);
|
|
}
|
|
|
|
public function htmlLink(): string
|
|
{
|
|
return '<a target="_blank" href="'.e($this->getUrl()).'">'.e($this->name).'</a>';
|
|
}
|
|
|
|
public function markdownLink(): string
|
|
{
|
|
|
|
}
|
|
}
|