Compare commits

...

6 Commits

7 changed files with 65 additions and 47 deletions

View File

@ -44,23 +44,26 @@ class FileController extends Controller
{
abort_if(Auth::guest(), 403);
$content = $request->file('url');
WorkWithFiles::saveFileToUploads($content);
$newPath = WorkWithFiles::renameFile($content);
$url = $request->file('file');
$return = Storage::put('file.jpg', $content);
dd($return);
$nameFile = $request->file('url')->getClientOriginalName();
$name = Storage::put('public', $request->file('url'));
$validated = $request->validated();
$file = new File();
$file->name = $validated['name'];
$file->url = $newPath;
$file->file_name = $nameFile;
$file->url = Storage::url($name);
$file->position = $validated['position'];
$file->reception_screen_id = $validated['idReceptionScreen'];
$file->save();
return redirect()->route('files.index');
}
public function download($id)
{
$file = (new File())->find($id);
return Storage::url($file->url);
}
public function edit(int $idFile)
{
abort_if(Auth::guest(), 403);

View File

@ -13,8 +13,9 @@ class File extends Model
protected $fillable = [
'id',
'name',
'file_name',
'url',
'description'
'description',
];
public function receptionScreen(): BelongsTo

View File

@ -93,41 +93,56 @@ class PageScrapper
$links = $content->find('a[href]');
$srclinks = $content->find('img[src]');
$html0 = $content->html();
preg_match_all('/<a href="(.*)">/isU', $html0, $arr);
foreach ($arr[1] as $el) {
$html0 = str_replace($el, urldecode($el), $html0);
}
preg_match_all('/<img src="(.*)">/isU', $html0, $arr2);
foreach ($arr2[1] as $el) {
$html0 = str_replace($el, urldecode($el), $html0);
}
foreach ($links as $k => $link) {
$href = $link->attr('href');
if (!str_contains($link->attr('href'), "https://")) {
$tmp = explode('/', rawurldecode($href));
foreach ( $tmp as $k => $v) {
$tmp[$k] = rawurlencode($v);
}
$href = implode('/', $tmp);
$html0 = str_replace($href, 'https://mkgtu.ru' . $href, $html0);
$unchanged = $link->attr('href');
$changed = $link->href = 'https://mkgtu.ru' . $href;
$html0 = str_replace(urldecode($unchanged), $changed, $html0);
}
}
foreach ($srclinks as $k => $srclink) {
$src = $srclink->attr('src');
if (!str_contains($srclink->attr('src'), "https://")) {
$tmp = explode('/', rawurldecode($src));
foreach ( $tmp as $k => $v) {
$tmp[$k] = rawurlencode($v);
}
$src = implode('/', $tmp);
$html0 = str_replace($src, 'https://mkgtu.ru' . $src, $html0);
$unchanged = $srclink->attr('src');
$changed = $srclink->src = 'https://mkgtu.ru' . $src;
$html0 = str_replace(urldecode($unchanged), $changed, $html0);
}
}
str_replace('st yle', 'style', $html0);
// foreach ($srclinks as $k => $srclink) {
// $src = $srclink->attr('src');
//
// if (!str_contains($srclink->attr('src'), "https://")) {
//
//
// $tmp = explode('/', rawurldecode($src));
// foreach ( $tmp as $k => $v) {
// $tmp[$k] = rawurlencode($v);
// }
// $src = implode('/', $tmp);
//
//
// $html0 = str_replace($src, 'https://mkgtu.ru' . $src, $html0);
// }
// }
// str_replace('st yle', 'style', $html0);
return $html0;
}

View File

@ -10,25 +10,26 @@
"require": {
"php": "^8.1|8.2",
"guzzlehttp/guzzle": "^7.8.1",
"imangazaliev/didom": "^2.0",
"laravel/framework": "^10.41.0",
"imangazaliev/didom": "^2.0.1",
"laravel/framework": "^10.42.0",
"laravel/sanctum": "^3.3.3",
"laravel/tinker": "^2.9.0",
"laravel/ui": "^4.4",
"laravelcollective/html": "^6.4.1"
"laravel/ui": "^4.4.0",
"laravelcollective/html": "^6.4.1",
"league/flysystem": "^3.23.1"
},
"require-dev": {
"fakerphp/faker": "^1.23.1",
"laravel/breeze": "^1.28.1",
"laravel/pint": "^1.13.9",
"laravel/sail": "^1.27.1",
"laravel/pint": "^1.13.10",
"laravel/sail": "^1.27.2",
"mockery/mockery": "^1.6.7",
"nunomaduro/collision": "^7.10.0",
"phpunit/phpunit": "^10.5.8",
"phpunit/phpunit": "^10.5.9",
"spatie/laravel-ignition": "^2.4.1",
"barryvdh/laravel-ide-helper": "^2.13.0",
"squizlabs/php_codesniffer": "^3.8.1",
"phpstan/phpstan": "^1.10.56"
"phpstan/phpstan": "^1.10.57"
},
"autoload": {
"psr-4": {

2
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "5bc9c65b7acd466b9ce68980e20268db",
"content-hash": "39967a89029d0be1b3179419bf4d8511",
"packages": [
{
"name": "brick/math",

View File

@ -14,6 +14,7 @@ return new class extends Migration
Schema::create('files', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('file_name');
$table->string('description')->nullable();
$table->string('url');
$table->integer('position');

View File

@ -2,9 +2,8 @@
use App\Http\Controllers\FileController;
use App\Http\Controllers\PageController;
use App\Http\Controllers\ReceptionScreenController;
use App\Http\Controllers\ProfileController;
use App\Http\Controllers\UploadFileController;
use App\Http\Controllers\ReceptionScreenController;
use App\Http\Controllers\UserController;
use Illuminate\Support\Facades\Route;
@ -31,6 +30,7 @@ Route::get('/files/create/{file?}', [FileController::class, 'create'])->name('fi
Route::patch('/files/{file}', [FileController::class, 'update'])->name('files.update');
Route::delete('files/{file}', [FileController::class, 'destroy'])->name('files.destroy');
Route::get('/files/edit/{file}', [FileController::class, 'edit'])->name('files.edit');
Route::get('/files/download/{file}', [FileController::class, 'download'])->name('files.download');
Route::get('/course', function () {
return view('menu.course');
@ -109,9 +109,6 @@ Route::get('/academic-mobility-and-international-cooperation', function () {
})->name('akademicheskaya-mobilnost-i-mezhdunarodnoe-sotrudnichestvo');
Route::post('/uploadfile', [UploadFileController::class, 'showUploadFile'])->name('uploadfile');
Route::get('/dashboard', function () {
return view('admin');
})->middleware(['auth', 'verified'])->name('dashboard');