'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]; } } } }