Файловый менеджер - Редактировать - /home/c7lekhnath/silverray.com.au/Modules/Language/database/seeders/68334/Slider.tar
Назад
lang/.gitkeep 0000644 00000000000 15012235074 0007103 0 ustar 00 module.json 0000644 00000000332 15012235074 0006721 0 ustar 00 { "name": "Slider", "alias": "slider", "description": "", "keywords": [], "priority": 0, "providers": [ "Modules\\Slider\\app\\Providers\\SliderServiceProvider" ], "files": [] } tests/Unit/.gitkeep 0000644 00000000000 15012235074 0010243 0 ustar 00 tests/Feature/.gitkeep 0000644 00000000000 15012235074 0010717 0 ustar 00 vite.config.js 0000644 00000001302 15012235074 0007310 0 ustar 00 import { defineConfig } from 'vite'; import laravel from 'laravel-vite-plugin'; export default defineConfig({ build: { outDir: '../../public/build-slider', emptyOutDir: true, manifest: true, }, plugins: [ laravel({ publicDirectory: '../../public', buildDirectory: 'build-slider', input: [ __dirname + '/resources/assets/sass/app.scss', __dirname + '/resources/assets/js/app.js' ], refresh: true, }), ], }); //export const paths = [ // 'Modules/$STUDLY_NAME$/resources/assets/sass/app.scss', // 'Modules/$STUDLY_NAME$/resources/assets/js/app.js', //]; routes/.gitkeep 0000644 00000000000 15012235074 0007503 0 ustar 00 routes/error_log 0000644 00000001100 15012235074 0007771 0 ustar 00 [07-May-2025 14:47:07 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Support\Facades\Route" not found in /home/lekhnath/silverray.com.au/Modules/Slider/routes/web.php:17 Stack trace: #0 {main} thrown in /home/lekhnath/silverray.com.au/Modules/Slider/routes/web.php on line 17 [07-May-2025 19:13:02 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Support\Facades\Route" not found in /home/lekhnath/silverray.com.au/Modules/Slider/routes/api.php:17 Stack trace: #0 {main} thrown in /home/lekhnath/silverray.com.au/Modules/Slider/routes/api.php on line 17 routes/web.php 0000644 00000001510 15012235074 0007347 0 ustar 00 <?php use Illuminate\Support\Facades\Route; use Modules\Slider\app\Http\Controllers\SliderController; /* |-------------------------------------------------------------------------- | Web Routes |-------------------------------------------------------------------------- | | Here is where you can register web routes for your application. These | routes are loaded by the RouteServiceProvider within a group which | contains the "web" middleware group. Now create something great! | */ Route::middleware(['auth:admin', 'translation']) ->name('admin.') ->prefix('admin') ->group( function () { Route::resource('slider', SliderController::class)->names('slider'); Route::put('/slider/status-update/{id}', [SliderController::class, 'statusUpdate'])->name('slider.status-update'); } ); routes/api.php 0000644 00000001231 15012235074 0007343 0 ustar 00 <?php use Illuminate\Http\Request; use Illuminate\Support\Facades\Route; /* |-------------------------------------------------------------------------- | API Routes |-------------------------------------------------------------------------- | | Here is where you can register API routes for your application. These | routes are loaded by the RouteServiceProvider within a group which | is assigned the "api" middleware group. Enjoy building your API! | */ Route::middleware(['auth:sanctum'])->prefix('v1')->name('api.')->group(function () { Route::get('slider', fn (Request $request) => $request->user())->name('slider'); }); composer.json 0000644 00000001267 15012235074 0007273 0 ustar 00 { "name": "nwidart/slider", "description": "", "authors": [ { "name": "Nicolas Widart", "email": "n.widart@gmail.com" } ], "extra": { "laravel": { "providers": [], "aliases": { } } }, "autoload": { "psr-4": { "Modules\\Slider\\": "", "Modules\\Slider\\App\\": "app/", "Modules\\Slider\\Database\\Factories\\": "database/factories/", "Modules\\Slider\\Database\\Seeders\\": "database/seeders/" } }, "autoload-dev": { "psr-4": { "Modules\\Slider\\Tests\\": "tests/" } } } config/config.php 0000644 00000000053 15012235074 0007764 0 ustar 00 <?php return [ 'name' => 'Slider', ]; config/.gitkeep 0000644 00000000000 15012235074 0007427 0 ustar 00 package.json 0000644 00000000410 15012235074 0007024 0 ustar 00 { "private": true, "type": "module", "scripts": { "dev": "vite", "build": "vite build" }, "devDependencies": { "axios": "^1.1.2", "laravel-vite-plugin": "^0.7.5", "sass": "^1.69.5", "postcss": "^8.3.7", "vite": "^4.0.0" } } app/Http/Controllers/.gitkeep 0000644 00000000000 15012235074 0012167 0 ustar 00 app/Http/Controllers/SliderController.php 0000644 00000010160 15012235074 0014545 0 ustar 00 <?php namespace Modules\Slider\app\Http\Controllers; use App\Enums\RedirectType; use Illuminate\Http\Request; use Illuminate\Http\Response; use App\Traits\RedirectHelperTrait; use App\Http\Controllers\Controller; use Illuminate\Pagination\Paginator; use Illuminate\Support\Facades\File; use Illuminate\Http\RedirectResponse; use Modules\Slider\app\Models\Slider; use Modules\Language\app\Models\Language; use Modules\Language\app\Enums\TranslationModels; use Modules\Slider\app\Http\Requests\SliderRequest; use Modules\Language\app\Traits\GenerateTranslationTrait; class SliderController extends Controller { use GenerateTranslationTrait, RedirectHelperTrait; public function index(Request $request) { checkAdminHasPermissionAndThrowException('slider.view'); Paginator::useBootstrap(); $sliders = Slider::latest()->get(); return view('slider::index', ['sliders' => $sliders]); } public function create() { checkAdminHasPermissionAndThrowException('slider.create'); return view('slider::create'); } public function store(SliderRequest $request): RedirectResponse { checkAdminHasPermissionAndThrowException('slider.store'); $slider = Slider::create($request->validated()); if ($slider && $request->hasFile('image')) { $file_name = file_upload($request->image, 'uploads/custom-images/', $slider->image); $slider->image = $file_name; $slider->save(); } $languages = Language::all(); $this->generateTranslations( TranslationModels::Slider, $slider, 'slider_id', $request, ); return $this->redirectWithMessage(RedirectType::CREATE->value, 'admin.slider.edit', ['slider' => $slider->id, 'code' => $languages->first()->code]); } /** * Show the specified resource. */ public function show($id) { } /** * Show the form for editing the specified resource. */ public function edit($id) { checkAdminHasPermissionAndThrowException('slider.edit'); $code = request('code') ?? getSessionLanguage(); if (! Language::where('code', $code)->exists()) { abort(404); } $slider = Slider::findOrFail($id); $languages = allLanguages(); return view('slider::edit', compact('slider', 'code', 'languages')); } public function update(SliderRequest $request, Slider $slider) { checkAdminHasPermissionAndThrowException('slider.update'); $validatedData = $request->validated(); if ($slider && $request->hasFile('image')) { $file_name = file_upload($request->image, 'uploads/custom-images/', $oldFile = $slider->image); $validatedData['image'] = $file_name; } $slider->update($validatedData); $this->updateTranslations( $slider, $request, $validatedData, ); return $this->redirectWithMessage(RedirectType::UPDATE->value, 'admin.slider.edit', ['slider' => $slider->id, 'code' => $request->code]); } /** * Remove the specified resource from storage. */ public function destroy(slider $slider) { checkAdminHasPermissionAndThrowException('slider.delete'); $slider->translations()->each(function ($translation) { $translation->delete(); }); if ($slider->image) { if (File::exists(public_path($slider->image))) { unlink(public_path($slider->image)); } } $slider->delete(); return $this->redirectWithMessage(RedirectType::DELETE->value, 'admin.slider.index'); } public function statusUpdate($id) { checkAdminHasPermissionAndThrowException('slider.update'); $slider = Slider::find($id); $status = $slider->status == 1 ? 0 : 1; $slider->update(['status' => $status]); $notification = __('Updated Successfully'); return response()->json([ 'success' => true, 'message' => $notification, ]); } } app/Http/Controllers/error_log 0000644 00000000525 15012235074 0012467 0 ustar 00 [09-May-2025 03:18:36 UTC] PHP Fatal error: Uncaught Error: Class "App\Http\Controllers\Controller" not found in /home/lekhnath/silverray.com.au/Modules/Slider/app/Http/Controllers/SliderController.php:19 Stack trace: #0 {main} thrown in /home/lekhnath/silverray.com.au/Modules/Slider/app/Http/Controllers/SliderController.php on line 19 app/Http/Requests/SliderRequest.php 0000644 00000002551 15012235074 0013364 0 ustar 00 <?php namespace Modules\Slider\app\Http\Requests; use Illuminate\Support\Facades\Auth; use Illuminate\Foundation\Http\FormRequest; class SliderRequest extends FormRequest { public function authorize(): bool { return Auth::guard('admin')->check(); } public function rules(): array { $languages = allLanguages(); $rules = [ 'title' => 'required|string|max:255', ]; if ($this->isMethod('put')) { $rules['image'] = 'nullable'; $rules['serial'] = $this->code == $languages->first()->code ? 'required':''; $rules['status'] = $this->code == $languages->first()->code ? 'required':''; } if ($this->isMethod('post')) { $rules['image'] = 'required'; $rules['serial'] = 'required'; $rules['status'] = 'required'; } return $rules; } public function messages(): array { return [ 'title.required' => __('Title is required.'), 'title.string' => __('The title must be a string.'), 'title.max' => __('The title may not be greater than 255 characters.'), 'image.required' => __('Image is required.'), 'serial.required' => __('Serial is required.'), 'status.required' => __('Image is required.'), ]; } } app/Http/Requests/.gitkeep 0000644 00000000000 15012235074 0011474 0 ustar 00 app/Http/Requests/error_log 0000644 00000000516 15012235074 0011774 0 ustar 00 [09-May-2025 00:46:44 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Http\FormRequest" not found in /home/lekhnath/silverray.com.au/Modules/Slider/app/Http/Requests/SliderRequest.php:8 Stack trace: #0 {main} thrown in /home/lekhnath/silverray.com.au/Modules/Slider/app/Http/Requests/SliderRequest.php on line 8 app/Http/Middleware/.gitkeep 0000644 00000000000 15012235074 0011736 0 ustar 00 app/Models/.gitkeep 0000644 00000000000 15012235074 0010165 0 ustar 00 app/Models/error_log 0000644 00000001164 15012235074 0010465 0 ustar 00 [07-May-2025 19:11:40 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Database\Eloquent\Model" not found in /home/lekhnath/silverray.com.au/Modules/Slider/app/Models/Slider.php:11 Stack trace: #0 {main} thrown in /home/lekhnath/silverray.com.au/Modules/Slider/app/Models/Slider.php on line 11 [07-May-2025 21:52:38 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Database\Eloquent\Model" not found in /home/lekhnath/silverray.com.au/Modules/Slider/app/Models/SliderTranslation.php:9 Stack trace: #0 {main} thrown in /home/lekhnath/silverray.com.au/Modules/Slider/app/Models/SliderTranslation.php on line 9 app/Models/SliderTranslation.php 0000644 00000000771 15012235074 0012725 0 ustar 00 <?php namespace Modules\Slider\app\Models; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Factories\HasFactory; use Modules\Slider\Database\factories\SliderTranslationFactory; class SliderTranslation extends Model { use HasFactory; /** * The attributes that are mass assignable. */ protected $fillable = ['title']; protected static function newFactory(): SliderTranslationFactory { //return SliderTranslationFactory::new(); } } app/Models/Slider.php 0000644 00000002164 15012235074 0010504 0 ustar 00 <?php namespace Modules\Slider\app\Models; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\HasOne; use Illuminate\Database\Eloquent\Relations\HasMany; use Modules\Slider\Database\factories\SliderFactory; use Illuminate\Database\Eloquent\Factories\HasFactory; class Slider extends Model { use HasFactory; /** * The attributes that are mass assignable. */ protected $fillable = ['image','status','serial']; protected static function newFactory(): SliderFactory { //return SliderFactory::new(); } public function getTitleAttribute(): ?string { return $this->translation->title; } public function translation(): ?HasOne { return $this->hasOne(SliderTranslation::class)->where('lang_code', getSessionLanguage()); } public function getTranslation($code): ?SliderTranslation { return $this->hasOne(SliderTranslation::class)->where('lang_code', $code)->first(); } public function translations(): ?HasMany { return $this->hasMany(SliderTranslation::class, 'slider_id'); } } app/Providers/RouteServiceProvider.php 0000644 00000002657 15012235074 0014155 0 ustar 00 <?php namespace Modules\Slider\app\Providers; use Illuminate\Support\Facades\Route; use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; class RouteServiceProvider extends ServiceProvider { /** * The module namespace to assume when generating URLs to actions. */ protected string $moduleNamespace = 'Modules\Slider\app\Http\Controllers'; /** * Called before routes are registered. * * Register any model bindings or pattern based filters. */ public function boot(): void { parent::boot(); } /** * Define the routes for the application. */ public function map(): void { $this->mapApiRoutes(); $this->mapWebRoutes(); } /** * Define the "web" routes for the application. * * These routes all receive session state, CSRF protection, etc. */ protected function mapWebRoutes(): void { Route::middleware('web') ->namespace($this->moduleNamespace) ->group(module_path('Slider', '/routes/web.php')); } /** * Define the "api" routes for the application. * * These routes are typically stateless. */ protected function mapApiRoutes(): void { Route::prefix('api') ->middleware('api') ->namespace($this->moduleNamespace) ->group(module_path('Slider', '/routes/api.php')); } } app/Providers/.gitkeep 0000644 00000000000 15012235074 0010717 0 ustar 00 app/Providers/SliderServiceProvider.php 0000644 00000006436 15012235074 0014300 0 ustar 00 <?php namespace Modules\Slider\app\Providers; use Illuminate\Support\Facades\Blade; use Illuminate\Support\ServiceProvider; class SliderServiceProvider extends ServiceProvider { protected string $moduleName = 'Slider'; protected string $moduleNameLower = 'slider'; /** * Boot the application events. */ public function boot(): void { $this->registerCommands(); $this->registerCommandSchedules(); $this->registerTranslations(); $this->registerConfig(); $this->registerViews(); $this->loadMigrationsFrom(module_path($this->moduleName, 'database/migrations')); } /** * Register the service provider. */ public function register(): void { $this->app->register(RouteServiceProvider::class); } /** * Register commands in the format of Command::class */ protected function registerCommands(): void { // $this->commands([]); } /** * Register command Schedules. */ protected function registerCommandSchedules(): void { // $this->app->booted(function () { // $schedule = $this->app->make(Schedule::class); // $schedule->command('inspire')->hourly(); // }); } /** * Register translations. */ public function registerTranslations(): void { $langPath = resource_path('lang/modules/'.$this->moduleNameLower); if (is_dir($langPath)) { $this->loadTranslationsFrom($langPath, $this->moduleNameLower); $this->loadJsonTranslationsFrom($langPath); } else { $this->loadTranslationsFrom(module_path($this->moduleName, 'lang'), $this->moduleNameLower); $this->loadJsonTranslationsFrom(module_path($this->moduleName, 'lang')); } } /** * Register config. */ protected function registerConfig(): void { $this->publishes([module_path($this->moduleName, 'config/config.php') => config_path($this->moduleNameLower.'.php')], 'config'); $this->mergeConfigFrom(module_path($this->moduleName, 'config/config.php'), $this->moduleNameLower); } /** * Register views. */ public function registerViews(): void { $viewPath = resource_path('views/modules/'.$this->moduleNameLower); $sourcePath = module_path($this->moduleName, 'resources/views'); $this->publishes([$sourcePath => $viewPath], ['views', $this->moduleNameLower.'-module-views']); $this->loadViewsFrom(array_merge($this->getPublishableViewPaths(), [$sourcePath]), $this->moduleNameLower); $componentNamespace = str_replace('/', '\\', config('modules.namespace').'\\'.$this->moduleName.'\\'.config('modules.paths.generator.component-class.path')); Blade::componentNamespace($componentNamespace, $this->moduleNameLower); } /** * Get the services provided by the provider. */ public function provides(): array { return []; } private function getPublishableViewPaths(): array { $paths = []; foreach (config('view.paths') as $path) { if (is_dir($path.'/modules/'.$this->moduleNameLower)) { $paths[] = $path.'/modules/'.$this->moduleNameLower; } } return $paths; } } app/Providers/error_log 0000644 00000001274 15012235074 0011221 0 ustar 00 [07-May-2025 21:58:05 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Support\ServiceProvider" not found in /home/lekhnath/silverray.com.au/Modules/Slider/app/Providers/SliderServiceProvider.php:8 Stack trace: #0 {main} thrown in /home/lekhnath/silverray.com.au/Modules/Slider/app/Providers/SliderServiceProvider.php on line 8 [08-May-2025 00:12:30 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Foundation\Support\Providers\RouteServiceProvider" not found in /home/lekhnath/silverray.com.au/Modules/Slider/app/Providers/RouteServiceProvider.php:8 Stack trace: #0 {main} thrown in /home/lekhnath/silverray.com.au/Modules/Slider/app/Providers/RouteServiceProvider.php on line 8 database/factories/.gitkeep 0000644 00000000000 15012235074 0011705 0 ustar 00 database/migrations/.gitkeep 0000644 00000000000 15012235074 0012102 0 ustar 00 database/migrations/error_log 0000644 00000001444 15012235074 0012403 0 ustar 00 [11-May-2025 03:19:41 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Database\Migrations\Migration" not found in /home/lekhnath/silverray.com.au/Modules/Slider/database/migrations/2024_08_25_112321_create_sliders_table.php:7 Stack trace: #0 {main} thrown in /home/lekhnath/silverray.com.au/Modules/Slider/database/migrations/2024_08_25_112321_create_sliders_table.php on line 7 [11-May-2025 04:07:37 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Database\Migrations\Migration" not found in /home/lekhnath/silverray.com.au/Modules/Slider/database/migrations/2024_08_25_112421_create_slider_translations_table.php:7 Stack trace: #0 {main} thrown in /home/lekhnath/silverray.com.au/Modules/Slider/database/migrations/2024_08_25_112421_create_slider_translations_table.php on line 7 database/migrations/2024_08_25_112421_create_slider_translations_table.php 0000644 00000001257 15012235074 0022054 0 ustar 00 <?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { /** * Run the migrations. */ public function up(): void { Schema::create('slider_translations', function (Blueprint $table) { $table->id(); $table->integer('slider_id'); $table->string('lang_code'); $table->string('title')->nullable(); $table->timestamps(); }); } /** * Reverse the migrations. */ public function down(): void { Schema::dropIfExists('slider_translations'); } }; database/migrations/2024_08_25_112321_create_sliders_table.php 0000644 00000001255 15012235074 0017433 0 ustar 00 <?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { /** * Run the migrations. */ public function up(): void { Schema::create('sliders', function (Blueprint $table) { $table->id(); $table->string('image')->nullable(); $table->boolean('status')->default(true); $table->integer('serial')->nullable(); $table->timestamps(); }); } /** * Reverse the migrations. */ public function down(): void { Schema::dropIfExists('sliders'); } }; database/seeders/SliderDatabaseSeeder.php 0000644 00000003212 15012235074 0014447 0 ustar 00 <?php namespace Modules\Slider\database\seeders; use Illuminate\Database\Seeder; use Modules\Slider\app\Models\Slider; use Stichoza\GoogleTranslate\GoogleTranslate; use Modules\Slider\app\Models\SliderTranslation; class SliderDatabaseSeeder extends Seeder { /** * Run the database seeds. */ public function run(): void { // Define multiple sliders with their translations $sliders = [ [ 'title' => 'Trendy House Interior', 'image' => 'uploads/custom-images/slider1.jpg', 'status' => 1, 'serial' => 1, ], [ 'title' => 'Luxury Gymnasium Club', 'image' => 'uploads/custom-images/slider2.jpg', 'status' => 1, 'serial' => 2, ], // Add more sliders here as needed ]; // Insert sliders and translations foreach ($sliders as $sliderItem) { $slider = new Slider(); $slider->image = $sliderItem['image']; $slider->status = $sliderItem['status']; $slider->serial = $sliderItem['serial']; $slider->save(); $languages = allLanguages(); foreach($languages as $language){ $tr = new GoogleTranslate($language->code); $translation = new SliderTranslation(); $translation->slider_id = $slider->id; $translation->lang_code = $language->code; $translation->title = $tr->translate($sliderItem['title']); $translation->save(); } } } } database/seeders/.gitkeep 0000644 00000000000 15012235074 0011360 0 ustar 00 database/seeders/error_log 0000644 00000000520 15012235074 0011653 0 ustar 00 [11-May-2025 07:58:47 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Database\Seeder" not found in /home/lekhnath/silverray.com.au/Modules/Slider/database/seeders/SliderDatabaseSeeder.php:10 Stack trace: #0 {main} thrown in /home/lekhnath/silverray.com.au/Modules/Slider/database/seeders/SliderDatabaseSeeder.php on line 10 resources/assets/.gitkeep 0000644 00000000000 15012235074 0011476 0 ustar 00 resources/assets/js/app.js 0000644 00000000000 15012235074 0011577 0 ustar 00 resources/assets/sass/app.scss 0000644 00000000000 15012235074 0012473 0 ustar 00 resources/views/sidebar.blade.php 0000644 00000000257 15012235074 0013106 0 ustar 00 <li class="{{ isRoute('admin.slider.*', 'active') }}"> <a class="nav-link" href="{{ route('admin.slider.index') }}"> <span>{{ __('Slider') }}</span> </a> </li>