Файловый менеджер - Редактировать - /home/c7lekhnath/silverray.com.au/Modules/Language/database/seeders/68334/Testimonial.zip
Назад
PK S��Z lang/.gitkeepnu �[��� PK S��ZW�/x� � module.jsonnu �[��� { "name": "Testimonial", "alias": "testimonial", "description": "", "keywords": [], "priority": 0, "providers": [ "Modules\\Testimonial\\app\\Providers\\TestimonialServiceProvider" ], "files": [] } PK S��Z tests/Unit/.gitkeepnu �[��� PK S��Z tests/Feature/.gitkeepnu �[��� PK S��Z��_� � vite.config.jsnu �[��� import { defineConfig } from 'vite'; import laravel from 'laravel-vite-plugin'; export default defineConfig({ build: { outDir: '../../public/build-testimonial', emptyOutDir: true, manifest: true, }, plugins: [ laravel({ publicDirectory: '../../public', buildDirectory: 'build-testimonial', 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', //];PK S��ZK��ڙ � wsus.jsonnu �[��� { "name": "Testimonial Addon", "is_default": true, "description": "This is Testimonial Addon", "author": { "name": "Websolutionsus", "email": "websolutionus1@gmail.com", "website": "https://websolutionus.com" }, "license": "Proprietary", "url": "", "options" : { "route" : "home" }, "last_update": "2024-03-31", "version": "1.0.0" } PK S��Z routes/.gitkeepnu �[��� PK S��Z6A[GP P routes/error_lognu �[��� [13-May-2025 08:09:51 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Support\Facades\Route" not found in /home/lekhnath/silverray.com.au/Modules/Testimonial/routes/web.php:6 Stack trace: #0 {main} thrown in /home/lekhnath/silverray.com.au/Modules/Testimonial/routes/web.php on line 6 [13-May-2025 16:56:20 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Support\Facades\Route" not found in /home/lekhnath/silverray.com.au/Modules/Testimonial/routes/api.php:5 Stack trace: #0 {main} thrown in /home/lekhnath/silverray.com.au/Modules/Testimonial/routes/api.php on line 5 PK S��Zv��K� � routes/web.phpnu �[��� <?php use Illuminate\Support\Facades\Route; use Modules\Testimonial\app\Http\Controllers\TestimonialController; Route::middleware(['auth:admin', 'translation']) ->name('admin.') ->prefix('admin') ->group(function () { Route::resource('testimonial', TestimonialController::class)->names('testimonial'); Route::put('/testimonial/status-update/{id}', [TestimonialController::class, 'statusUpdate'])->name('testimonial.status-update'); }); PK S��Z/�VJ� � routes/api.phpnu �[��� <?php use Illuminate\Support\Facades\Route; Route::middleware(['auth:sanctum'])->prefix('v1')->name('api.')->group(function () { }); PK S��ZC��� � composer.jsonnu �[��� { "name": "nwidart/testimonial", "description": "", "authors": [ { "name": "Nicolas Widart", "email": "n.widart@gmail.com" } ], "extra": { "laravel": { "providers": [], "aliases": { } } }, "autoload": { "psr-4": { "Modules\\Testimonial\\": "", "Modules\\Testimonial\\App\\": "app/", "Modules\\Testimonial\\Database\\Factories\\": "database/factories/", "Modules\\Testimonial\\Database\\Seeders\\": "database/seeders/" } }, "autoload-dev": { "psr-4": { "Modules\\Testimonial\\Tests\\": "tests/" } } } PK S��Z-[J�0 0 config/config.phpnu �[��� <?php return [ 'name' => 'Testimonial', ]; PK S��Z config/.gitkeepnu �[��� PK S��Z��8� package.jsonnu �[��� { "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" } } PK S��Z app/Http/Controllers/.gitkeepnu �[��� PK S��Z��O�2 2 . app/Http/Controllers/TestimonialController.phpnu �[��� <?php namespace Modules\Testimonial\app\Http\Controllers; use App\Enums\RedirectType; use App\Http\Controllers\Controller; use App\Traits\RedirectHelperTrait; use Illuminate\Pagination\Paginator; use Illuminate\Support\Facades\File; use Modules\Language\app\Enums\TranslationModels; use Modules\Language\app\Models\Language; use Modules\Language\app\Traits\GenerateTranslationTrait; use Modules\Testimonial\app\Http\Requests\TestimonialRequest; use Modules\Testimonial\app\Models\Testimonial; class TestimonialController extends Controller { use GenerateTranslationTrait, RedirectHelperTrait; public function index() { checkAdminHasPermissionAndThrowException('testimonial.view'); Paginator::useBootstrap(); $testimonials = Testimonial::with('translation')->paginate(15); return view('testimonial::index', compact('testimonials')); } public function create() { checkAdminHasPermissionAndThrowException('testimonial.create'); return view('testimonial::create'); } public function store(TestimonialRequest $request) { checkAdminHasPermissionAndThrowException('testimonial.store'); $testimonial = Testimonial::create($request->validated()); if ($testimonial && $request->hasFile('image')) { $file_name = file_upload($request->image, 'uploads/custom-images/', $testimonial->image); $testimonial->image = $file_name; $testimonial->save(); } $languages = allLanguages(); $this->generateTranslations( TranslationModels::Testimonial, $testimonial, 'testimonial_id', $request, ); return $this->redirectWithMessage(RedirectType::CREATE->value, 'admin.testimonial.edit', ['testimonial' => $testimonial->id, 'code' => $languages->first()->code]); } public function show($id) { checkAdminHasPermissionAndThrowException('testimonial.view'); return view('testimonial::show'); } public function edit($id) { checkAdminHasPermissionAndThrowException('testimonial.edit'); $code = request('code') ?? getSessionLanguage(); abort_unless(Language::where('code', $code)->exists(), 404); $testimonial = Testimonial::findOrFail($id); $languages = allLanguages(); return view('testimonial::edit', compact('testimonial', 'code', 'languages')); } public function update(TestimonialRequest $request, $id) { checkAdminHasPermissionAndThrowException('testimonial.update'); $testimonial = Testimonial::findOrFail($id); $validatedData = $request->validated(); $testimonial->update($validatedData); if ($testimonial && $request->hasFile('image')) { $file_name = file_upload($request->image, 'uploads/custom-images/', $testimonial->image); $testimonial->image = $file_name; $testimonial->save(); } $this->updateTranslations( $testimonial, $request, $validatedData, ); return $this->redirectWithMessage(RedirectType::UPDATE->value, 'admin.testimonial.edit', ['testimonial' => $testimonial->id, 'code' => $request->code]); } public function destroy($id) { checkAdminHasPermissionAndThrowException('testimonial.delete'); $testimonial = Testimonial::findOrFail($id); $testimonial->translations()->each(function ($translation) { $translation->testimonial()->dissociate(); $translation->delete(); }); if ($testimonial->image) { if (File::exists(public_path($testimonial->image))) { @unlink(public_path($testimonial->image)); } } $testimonial->delete(); return $this->redirectWithMessage(RedirectType::DELETE->value, 'admin.testimonial.index'); } public function statusUpdate($id) { checkAdminHasPermissionAndThrowException('testimonial.update'); $testimonial = Testimonial::find($id); $status = $testimonial->status == 1 ? 0 : 1; $testimonial->update(['status' => $status]); $notification = __('Updated Successfully'); return response()->json([ 'success' => true, 'message' => $notification, ]); } } PK S��Z app/Http/Requests/.gitkeepnu �[��� PK S��Z/N! ( app/Http/Requests/TestimonialRequest.phpnu �[��� <?php namespace Modules\Testimonial\app\Http\Requests; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Auth; class TestimonialRequest extends FormRequest { public function authorize(): bool { return (Auth::guard('admin')->check() && checkAdminHasPermission('testimonial.store')) ? true : false; } public function rules(): array { $rules = [ 'name' => 'required|string|max:255', 'designation' => 'required|string|max:255', 'comment' => 'required|string|max:5000', ]; if ($this->isMethod('put')) { $rules['image'] = 'nullable|image|max:2048'; } if ($this->isMethod('post')) { $rules['image'] = 'required|image|max:2048'; } return $rules; } public function messages(): array { return [ 'name.required' => __('The name field is required.'), 'name.string' => __('The name must be a string.'), 'name.max' => __('The name may not be greater than 255 characters.'), 'designation.required' => __('The designation field is required.'), 'designation.string' => __('The designation must be a string.'), 'designation.max' => __('The designation may not be greater than 255 characters.'), 'comment.required' => __('The comment field is required.'), 'comment.string' => __('The comment must be a string.'), 'comment.max' => __('The comment may not be greater than 5000 characters.'), 'image.required' => __('The image field is required.'), 'image.image' => __('The image must be an image.'), 'image.max' => __('The image may not be greater than 2048 kilobytes.'), ]; } } PK S��Z app/Http/Middleware/.gitkeepnu �[��� PK S��Z app/Models/.gitkeepnu �[��� PK S��ZviB�H H % app/Models/TestimonialTranslation.phpnu �[��� <?php namespace Modules\Testimonial\app\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; class TestimonialTranslation extends Model { use HasFactory; /** * The attributes that are mass assignable. */ protected $fillable = [ 'testimonial_id', 'lang_code', 'name', 'designation', 'comment', ]; public function testimonial(): ?BelongsTo { return $this->belongsTo(Testimonial::class); } } PK S��Z�4~Ŝ � app/Models/error_lognu �[��� [13-May-2025 02:47:01 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Database\Eloquent\Model" not found in /home/lekhnath/silverray.com.au/Modules/Testimonial/app/Models/TestimonialTranslation.php:9 Stack trace: #0 {main} thrown in /home/lekhnath/silverray.com.au/Modules/Testimonial/app/Models/TestimonialTranslation.php on line 9 [13-May-2025 07:53:01 UTC] PHP Fatal error: Uncaught Error: Class "Illuminate\Database\Eloquent\Model" not found in /home/lekhnath/silverray.com.au/Modules/Testimonial/app/Models/Testimonial.php:10 Stack trace: #0 {main} thrown in /home/lekhnath/silverray.com.au/Modules/Testimonial/app/Models/Testimonial.php on line 10 PK S��Z�܄� � app/Models/Testimonial.phpnu �[��� <?php namespace Modules\Testimonial\app\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasOne; class Testimonial extends Model { use HasFactory; /** * The attributes that are mass assignable. */ protected $fillable = [ 'image', 'status', ]; public function getNameAttribute(): ?string { return $this->translation->name; } public function getDesignationAttribute(): ?string { return $this->translation->designation; } public function getCommentAttribute(): ?string { return $this->translation->comment; } public function translation(): ?HasOne { return $this->hasOne(TestimonialTranslation::class)->where('lang_code', getSessionLanguage()); } public function getTranslation($code): ?TestimonialTranslation { return $this->hasOne(TestimonialTranslation::class)->where('lang_code', $code)->first(); } public function translations(): ?HasMany { return $this->hasMany(TestimonialTranslation::class, 'testimonial_id'); } public function scopeActive($query) { return $query->where('status', 1); } public function scopeInactive($query) { return $query->where('status', 0); } } PK S��ZGA�� � &