kris@sentientgeeks.com 501a8e18e0 initial commit
2021-02-08 19:09:14 +05:30

104 lines
2.8 KiB
PHP

<?php
namespace App;
use Froiden\RestAPI\ApiModel;
use Illuminate\Support\Facades\Schema;
class BaseModel extends ApiModel
{
protected $mimeType = [
'txt' => 'fa-file-text',
'htm' => 'fa-file-code-o',
'html' => 'fa-file-code-o',
// 'php' => 'fa-file-code-o',
'css' => 'fa-file-code-o',
'js' => 'fa-file-code-o',
'json' => 'fa-file-code-o',
'xml' => 'fa-file-code-o',
'swf' => 'fa-file-o',
'CR2' => 'fa-file-o',
'flv' => 'fa-file-video-o',
// images
'png' => 'fa-file-image-o',
'jpe' => 'fa-file-image-o',
'jpeg' => 'fa-file-image-o',
'jpg' => 'fa-file-image-o',
'gif' => 'fa-file-image-o',
'bmp' => 'fa-file-image-o',
'ico' => 'fa-file-image-o',
'tiff' => 'fa-file-image-o',
'tif' => 'fa-file-image-o',
'svg' => 'fa-file-image-o',
'svgz' => 'fa-file-image-o',
// archives
'zip' => 'fa-file-o',
'rar' => 'fa-file-o',
'exe' => 'fa-file-o',
'msi' => 'fa-file-o',
'cab' => 'fa-file-o',
// audio/video
'mp3' => 'fa-file-audio-o',
'qt' => 'fa-file-video-o',
'mov' => 'fa-file-video-o',
'mp4' => 'fa-file-video-o',
'mkv' => 'fa-file-video-o',
'avi' => 'fa-file-video-o',
'wmv' => 'fa-file-video-o',
'mpg' => 'fa-file-video-o',
'mp2' => 'fa-file-video-o',
'mpeg' => 'fa-file-video-o',
'mpe' => 'fa-file-video-o',
'mpv' => 'fa-file-video-o',
'3gp' => 'fa-file-video-o',
'm4v' => 'fa-file-video-o',
// adobe
'pdf' => 'fa-file-pdf-o',
'psd' => 'fa-file-image-o',
'ai' => 'fa-file-o',
'eps' => 'fa-file-o',
'ps' => 'fa-file-o',
// ms office
'doc' => 'fa-file-text',
'rtf' => 'fa-file-text',
'xls' => 'fa-file-excel-o',
'ppt' => 'fa-file-powerpoint-o',
'docx' => 'fa-file-text',
'xlsx' => 'fa-file-excel-o',
'pptx' => 'fa-file-powerpoint-o',
// open office
'odt' => 'fa-file-text',
'ods' => 'fa-file-text',
];
public function getIconAttribute($value) {
$isColExist = Schema::hasColumn($this->getTable(),'icon');
if($isColExist){
return $value;
}
if (is_null($this->external_link) && !$isColExist) {
$ext = pathinfo($this->filename, PATHINFO_EXTENSION);
if ($ext == 'png' || $ext == 'jpe' || $ext == 'jpeg' || $ext == 'jpg' || $ext == 'gif' || $ext == 'bmp' ||
$ext == 'ico' || $ext == 'tif' || $ext == 'svg' || $ext == 'svgz' || $ext == 'psd' || $ext == 'csv')
{
return 'images';
}
else{
return $this->mimeType[$ext];
}
}
}
}