v0.8.0 - Fixed ResourceController.php
This commit is contained in:
parent
511e0b783f
commit
fb88bfa4c8
|
@ -3,9 +3,11 @@
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use App\Resource;
|
use App\Resource;
|
||||||
|
use App\ResourceCategory;
|
||||||
use App\ResourceExtension;
|
use App\ResourceExtension;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Http\Response;
|
use Illuminate\Http\Response;
|
||||||
|
use Symfony\Component\Mime\MimeTypes;
|
||||||
|
|
||||||
class ResourceController extends Controller
|
class ResourceController extends Controller
|
||||||
{
|
{
|
||||||
|
@ -49,30 +51,54 @@ class ResourceController extends Controller
|
||||||
* @param \Illuminate\Http\Request $request
|
* @param \Illuminate\Http\Request $request
|
||||||
* @return \Illuminate\Http\Response
|
* @return \Illuminate\Http\Response
|
||||||
*/
|
*/
|
||||||
public function store(Request $request)
|
public static function store(Request $request)
|
||||||
{
|
{
|
||||||
$file = $request->file("resource");
|
$file = $request->file("resource");
|
||||||
|
|
||||||
$resourceExtension = ResourceExtension::where("extension", "=", $file->extension())->first();
|
$resourceExtension = ResourceExtension::query()->where("extension", "=", $file->extension())->first();
|
||||||
|
|
||||||
|
//Create resourceExtension if it doesn't exist
|
||||||
if($resourceExtension === null) {
|
if($resourceExtension === null) {
|
||||||
|
$category = substr($file->getMimeType(), 0, strpos($file->getMimeType(), "/"));
|
||||||
|
|
||||||
|
$resourceCategory = ResourceCategory::query()->where("name", "=", $category)->first();
|
||||||
|
|
||||||
|
//Create resourceCategory if it doesn't exist
|
||||||
|
if($resourceCategory === null){
|
||||||
|
$data = [
|
||||||
|
"name" => $category,
|
||||||
|
"description" => "",
|
||||||
|
"slug" => ""
|
||||||
|
];
|
||||||
|
|
||||||
|
$resourceCategory = new ResourceCategory($data);
|
||||||
|
$resourceCategory->save();
|
||||||
|
}
|
||||||
|
|
||||||
$data = [
|
$data = [
|
||||||
"extension" => $file->extension(),
|
"extension" => $file->extension(),
|
||||||
"description" => ""
|
"description" => "",
|
||||||
|
"resource_category_id" => $resourceCategory->id
|
||||||
];
|
];
|
||||||
|
|
||||||
$resourceExtension = new ResourceExtension($data);
|
$resourceExtension = new ResourceExtension($data);
|
||||||
$resourceExtension->save();
|
$resourceExtension->save();
|
||||||
} else {
|
}
|
||||||
|
|
||||||
$resource = new Resource();
|
$resource = new Resource();
|
||||||
|
|
||||||
$resource->extension_id = $resourceExtension->id;
|
$resource->extension_id = $resourceExtension->id;
|
||||||
$resource->filename = substr(md5($file->getFilename() . rand()), 0, 7);
|
|
||||||
|
$fileName = time().'_'.$file->getClientOriginalName();
|
||||||
|
$filePath = $file->storeAs('uploads', $fileName, 'public');
|
||||||
|
|
||||||
|
/* /uploads/filename.ext */
|
||||||
|
$resource->filename = '/' . $filePath;
|
||||||
|
|
||||||
|
|
||||||
$resource->save();
|
$resource->save();
|
||||||
}
|
|
||||||
|
|
||||||
return Response::detect("resources.store");
|
return $resource;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -117,6 +143,6 @@ class ResourceController extends Controller
|
||||||
*/
|
*/
|
||||||
public function destroy($id)
|
public function destroy($id)
|
||||||
{
|
{
|
||||||
//
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,10 @@ use Illuminate\Database\Eloquent\Model;
|
||||||
//Class of which should extend Model Library
|
//Class of which should extend Model Library
|
||||||
class ResourceCategory extends Model
|
class ResourceCategory extends Model
|
||||||
{
|
{
|
||||||
|
protected $fillable = [
|
||||||
|
'name', 'description', 'slug'
|
||||||
|
];
|
||||||
|
|
||||||
public function resourceExtensions() {
|
public function resourceExtensions() {
|
||||||
return $this->hasMany("App\ResourceExtension");
|
return $this->hasMany("App\ResourceExtension");
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@ use Illuminate\Database\Eloquent\Model;
|
||||||
class ResourceExtension extends Model
|
class ResourceExtension extends Model
|
||||||
{
|
{
|
||||||
protected $fillable = [
|
protected $fillable = [
|
||||||
'extension', 'description'
|
'extension', 'description', 'resource_category_id'
|
||||||
];
|
];
|
||||||
|
|
||||||
public function resources() {
|
public function resources() {
|
||||||
|
|
|
@ -50,8 +50,8 @@ return [
|
||||||
|
|
||||||
'public' => [
|
'public' => [
|
||||||
'driver' => 'local',
|
'driver' => 'local',
|
||||||
'root' => storage_path('app/public'),
|
'root' => public_path(''),
|
||||||
'url' => env('APP_URL').'/storage',
|
'url' => env('APP_URL').'/public',
|
||||||
'visibility' => 'public',
|
'visibility' => 'public',
|
||||||
],
|
],
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ use Illuminate\Database\Migrations\Migration;
|
||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class CreateResourceCategory extends Migration
|
class CreateResourceCategories extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
|
@ -1,36 +0,0 @@
|
||||||
<?php
|
|
||||||
//Migrations acts as a version control for the database allowing you to modify the app's database schema
|
|
||||||
|
|
||||||
//allows use of necessary libraries
|
|
||||||
use Illuminate\Database\Migrations\Migration;
|
|
||||||
use Illuminate\Database\Schema\Blueprint;
|
|
||||||
use Illuminate\Support\Facades\Schema;
|
|
||||||
|
|
||||||
class CreateResourceCategories extends Migration
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Run the migrations.
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function up()
|
|
||||||
{
|
|
||||||
/*Schema::create('resource_categories', function (Blueprint $table) {
|
|
||||||
$table->id();
|
|
||||||
$table->string("name")->unique();
|
|
||||||
$table->text("description");
|
|
||||||
$table->string("slug")->unique();
|
|
||||||
$table->timestamps();
|
|
||||||
});*/
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Reverse the migrations.
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function down()
|
|
||||||
{
|
|
||||||
Schema::dropIfExists('resource_categories');
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue