diff --git a/config/app.php b/config/app.php index ee866079a..121445d5d 100755 --- a/config/app.php +++ b/config/app.php @@ -341,5 +341,7 @@ return [ 'Concord' => Konekt\Concord\Facades\Concord::class, 'Helper' => Konekt\Concord\Facades\Helper::class, 'Debugbar' => Barryvdh\Debugbar\Facade::class, + 'ProductImage' => Webkul\Product\Facades\ProductImage::class, + 'ProductVideo' => Webkul\Product\Facades\ProductVideo::class ], ]; \ No newline at end of file diff --git a/packages/Webkul/API/Http/Resources/Catalog/Product.php b/packages/Webkul/API/Http/Resources/Catalog/Product.php index 5f51b99e7..cc1bbc18d 100644 --- a/packages/Webkul/API/Http/Resources/Catalog/Product.php +++ b/packages/Webkul/API/Http/Resources/Catalog/Product.php @@ -3,6 +3,7 @@ namespace Webkul\API\Http\Resources\Catalog; use Illuminate\Http\Resources\Json\JsonResource; +use Webkul\Product\Facades\ProductImage as ProductImageFacade; class Product extends JsonResource { @@ -13,10 +14,6 @@ class Product extends JsonResource */ public function __construct($resource) { - parent::__construct($resource); - - $this->productImageHelper = app('Webkul\Product\Helpers\ProductImage'); - $this->productReviewHelper = app('Webkul\Product\Helpers\Review'); $this->wishlistHelper = app('Webkul\Customer\Helpers\Wishlist'); @@ -48,8 +45,8 @@ class Product extends JsonResource 'formated_price' => core()->currency($productTypeInstance->getMinimalPrice()), 'short_description' => $product->short_description, 'description' => $product->description, - 'images' => ProductImage::collection($product->images), - 'base_image' => $this->productImageHelper->getProductBaseImage($product), + 'images' => ProductImageFacade::collection($product->images), + 'base_image' => ProductImageFacade::getProductBaseImage($product), 'created_at' => $product->created_at, 'updated_at' => $product->updated_at, diff --git a/packages/Webkul/Admin/src/Resources/views/dashboard/index.blade.php b/packages/Webkul/Admin/src/Resources/views/dashboard/index.blade.php index 930a6a8df..7e09bc72d 100755 --- a/packages/Webkul/Admin/src/Resources/views/dashboard/index.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/dashboard/index.blade.php @@ -192,8 +192,6 @@ - @inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage') -
@@ -208,7 +206,7 @@
  • - getProductBaseImage($item->product); ?> + getProductBaseImage($item->product); ?>
    @@ -318,7 +316,7 @@
  • - getProductBaseImage($item->product); ?> + getProductBaseImage($item->product); ?>
    diff --git a/packages/Webkul/BookingProduct/src/Type/Booking.php b/packages/Webkul/BookingProduct/src/Type/Booking.php index 0a876ae42..81766d7e1 100644 --- a/packages/Webkul/BookingProduct/src/Type/Booking.php +++ b/packages/Webkul/BookingProduct/src/Type/Booking.php @@ -9,7 +9,6 @@ use Webkul\BookingProduct\Helpers\Booking as BookingHelper; use Webkul\BookingProduct\Repositories\BookingProductRepository; use Webkul\Checkout\Models\CartItem; use Webkul\Product\Datatypes\CartItemValidationResult; -use Webkul\Product\Helpers\ProductImage; use Webkul\Product\Repositories\ProductAttributeValueRepository; use Webkul\Product\Repositories\ProductImageRepository; use Webkul\Product\Repositories\ProductVideoRepository; @@ -56,7 +55,6 @@ class Booking extends Virtual * @param \Webkul\Product\Repositories\ProductAttributeValueRepository $attributeValueRepository * @param \Webkul\Product\Repositories\ProductInventoryRepository $productInventoryRepository * @param \Webkul\Product\Repositories\ProductImageRepository $productImageRepository - * @param \Webkul\Product\Helpers\ProductImage $productImageHelper * @param \Webkul\BookingProduct\Repositories\BookingProductRepository $bookingProductRepository * @param \Webkul\BookingProduct\Helpers\BookingHelper $bookingHelper * @param \Webkul\Product\Repositories\ProductVideoRepository $productVideoRepository @@ -68,7 +66,6 @@ class Booking extends Virtual ProductAttributeValueRepository $attributeValueRepository, ProductInventoryRepository $productInventoryRepository, ProductImageRepository $productImageRepository, - ProductImage $productImageHelper, BookingProductRepository $bookingProductRepository, BookingHelper $bookingHelper, ProductVideoRepository $productVideoRepository @@ -80,7 +77,6 @@ class Booking extends Virtual $attributeValueRepository, $productInventoryRepository, $productImageRepository, - $productImageHelper, $productVideoRepository ); diff --git a/packages/Webkul/Product/src/Facades/ProductImage.php b/packages/Webkul/Product/src/Facades/ProductImage.php new file mode 100644 index 000000000..d8a1aa62f --- /dev/null +++ b/packages/Webkul/Product/src/Facades/ProductImage.php @@ -0,0 +1,18 @@ +productImage = $productImage; - } - /** * Returns the allowed variants * @@ -223,7 +206,7 @@ class ConfigurableOption extends AbstractProduct $variantId = $variant->id; } - $images[$variantId] = $this->productImage->getGalleryImages($variant); + $images[$variantId] = ProductImage::getGalleryImages($variant); } return $images; diff --git a/packages/Webkul/Product/src/Http/helpers.php b/packages/Webkul/Product/src/Http/helpers.php new file mode 100644 index 000000000..f5e7764f0 --- /dev/null +++ b/packages/Webkul/Product/src/Http/helpers.php @@ -0,0 +1,17 @@ +make(ProductImage::class); + } +} + +if (! function_exists('productvideo')) { + function productvideo() { + return app()->make(ProductVideo::class); + } +} +?> \ No newline at end of file diff --git a/packages/Webkul/Product/src/Helpers/ProductImage.php b/packages/Webkul/Product/src/ProductImage.php old mode 100755 new mode 100644 similarity index 98% rename from packages/Webkul/Product/src/Helpers/ProductImage.php rename to packages/Webkul/Product/src/ProductImage.php index 8eb50bb3b..2ac256ac4 --- a/packages/Webkul/Product/src/Helpers/ProductImage.php +++ b/packages/Webkul/Product/src/ProductImage.php @@ -1,13 +1,14 @@ loadMigrationsFrom(__DIR__ . '/../Database/Migrations'); $this->app->make(EloquentFactory::class)->load(__DIR__ . '/../Database/Factories'); @@ -42,6 +49,8 @@ class ProductServiceProvider extends ServiceProvider $this->registerCommands(); + $this->registerFacades(); + $this->registerEloquentFactoriesFrom(__DIR__ . '/../Database/Factories'); } @@ -79,4 +88,28 @@ class ProductServiceProvider extends ServiceProvider { $this->app->make(EloquentFactory::class)->load($path); } + + + /** + * Register Bouncer as a singleton. + * + * @return void + */ + protected function registerFacades() + { + // Product image + $loader = AliasLoader::getInstance(); + $loader->alias('productimage', ProductImageFacade::class); + + $this->app->singleton('productimage', function () { + return app()->make(ProductImage::class); + }); + + // Product video + $loader->alias('productvideo', ProductVideoFacade::class); + + $this->app->singleton('productvideo', function () { + return app()->make(ProductVideo::class); + }); + } } \ No newline at end of file diff --git a/packages/Webkul/Product/src/Type/AbstractType.php b/packages/Webkul/Product/src/Type/AbstractType.php index eb286c93f..aacd176d0 100644 --- a/packages/Webkul/Product/src/Type/AbstractType.php +++ b/packages/Webkul/Product/src/Type/AbstractType.php @@ -5,7 +5,7 @@ namespace Webkul\Product\Type; use Webkul\Checkout\Facades\Cart; use Webkul\Checkout\Models\CartItem; use Illuminate\Support\Facades\Storage; -use Webkul\Product\Helpers\ProductImage; +use Webkul\Product\Facades\ProductImage; use Webkul\Product\Models\ProductAttributeValue; use Webkul\Product\Repositories\ProductRepository; use Webkul\Attribute\Repositories\AttributeRepository; @@ -59,13 +59,6 @@ abstract class AbstractType */ protected $productVideoRepository; - /** - * Product Image helper instance - * - * @var \Webkul\Product\Helpers\ProductImage - */ - protected $productImageHelper; - /** * Product model instance * @@ -148,7 +141,6 @@ abstract class AbstractType * @param \Webkul\Product\Repositories\ProductAttributeValueRepository $attributeValueRepository * @param \Webkul\Product\Repositories\ProductInventoryRepository $productInventoryRepository * @param \Webkul\Product\Repositories\ProductImageRepository $productImageRepository - * @param \Webkul\Product\Helpers\ProductImage $productImageHelper * @param \Webkul\Product\Repositories\ProductVideoRepository $productVideoRepository * * @return void @@ -159,7 +151,6 @@ abstract class AbstractType ProductAttributeValueRepository $attributeValueRepository, ProductInventoryRepository $productInventoryRepository, ProductImageRepository $productImageRepository, - ProductImage $productImageHelper, ProductVideoRepository $productVideoRepository ) { $this->attributeRepository = $attributeRepository; @@ -172,8 +163,6 @@ abstract class AbstractType $this->productImageRepository = $productImageRepository; - $this->productImageHelper = $productImageHelper; - $this->productVideoRepository = $productVideoRepository; } @@ -849,7 +838,7 @@ abstract class AbstractType */ public function getBaseImage($item) { - return $this->productImageHelper->getProductBaseImage($item->product); + return ProductImage::getProductBaseImage($item->product); } /** diff --git a/packages/Webkul/Product/src/Type/Bundle.php b/packages/Webkul/Product/src/Type/Bundle.php index a179d5efe..bfbaba76f 100644 --- a/packages/Webkul/Product/src/Type/Bundle.php +++ b/packages/Webkul/Product/src/Type/Bundle.php @@ -11,7 +11,6 @@ use Webkul\Product\Repositories\ProductImageRepository; use Webkul\Product\Repositories\ProductVideoRepository; use Webkul\Product\Repositories\ProductBundleOptionRepository; use Webkul\Product\Repositories\ProductBundleOptionProductRepository; -use Webkul\Product\Helpers\ProductImage; use Webkul\Product\Helpers\BundleOption; use Webkul\Checkout\Models\CartItem; @@ -88,7 +87,6 @@ class Bundle extends AbstractType * @param \Webkul\Product\Repositories\ProductImageRepository $productImageRepository * @param \Webkul\Product\Repositories\ProductBundleOptionRepository $productBundleOptionRepository * @param \Webkul\Product\Repositories\ProductBundleOptionProductRepository $productBundleOptionProductRepository - * @param \Webkul\Product\Helpers\ProductImage $productImageHelper * @param \Webkul\Product\Helpers\BundleOption $bundleOptionHelper * @param \Webkul\Product\Repositories\ProductVideoRepository $productVideoRepository * @return void @@ -101,7 +99,6 @@ class Bundle extends AbstractType ProductImageRepository $productImageRepository, ProductBundleOptionRepository $productBundleOptionRepository, ProductBundleOptionProductRepository $productBundleOptionProductRepository, - ProductImage $productImageHelper, BundleOption $bundleOptionHelper, ProductVideoRepository $productVideoRepository ) @@ -112,7 +109,6 @@ class Bundle extends AbstractType $attributeValueRepository, $productInventoryRepository, $productImageRepository, - $productImageHelper, $productVideoRepository ); diff --git a/packages/Webkul/Product/src/Type/Downloadable.php b/packages/Webkul/Product/src/Type/Downloadable.php index 6dab992d3..d35b2ba69 100644 --- a/packages/Webkul/Product/src/Type/Downloadable.php +++ b/packages/Webkul/Product/src/Type/Downloadable.php @@ -3,7 +3,6 @@ namespace Webkul\Product\Type; use Webkul\Checkout\Models\CartItem; -use Webkul\Product\Helpers\ProductImage; use Webkul\Product\Repositories\ProductRepository; use Webkul\Attribute\Repositories\AttributeRepository; use Webkul\Product\Datatypes\CartItemValidationResult; @@ -80,7 +79,6 @@ class Downloadable extends AbstractType * @param \Webkul\Product\Repositories\ProductImageRepository $productImageRepository * @param \Webkul\Product\Repositories\ProductDownloadableLinkRepository $productDownloadableLinkRepository * @param \Webkul\Product\Repositories\ProductDownloadableSampleRepository $productDownloadableSampleRepository - * @param \Webkul\Product\Helpers\ProductImage $productImageHelper * @param \Webkul\Product\Repositories\ProductVideoRepository $productVideoRepository * * @return void @@ -93,7 +91,6 @@ class Downloadable extends AbstractType productImageRepository $productImageRepository, ProductDownloadableLinkRepository $productDownloadableLinkRepository, ProductDownloadableSampleRepository $productDownloadableSampleRepository, - ProductImage $productImageHelper, ProductVideoRepository $productVideoRepository ) { @@ -103,7 +100,6 @@ class Downloadable extends AbstractType $attributeValueRepository, $productInventoryRepository, $productImageRepository, - $productImageHelper, $productVideoRepository ); diff --git a/packages/Webkul/Product/src/Type/Grouped.php b/packages/Webkul/Product/src/Type/Grouped.php index b083d2112..17899afd2 100644 --- a/packages/Webkul/Product/src/Type/Grouped.php +++ b/packages/Webkul/Product/src/Type/Grouped.php @@ -9,7 +9,6 @@ use Webkul\Product\Repositories\ProductInventoryRepository; use Webkul\Product\Repositories\ProductImageRepository; use Webkul\Product\Repositories\ProductVideoRepository; use Webkul\Product\Repositories\ProductGroupedProductRepository; -use Webkul\Product\Helpers\ProductImage; use Webkul\Product\Models\ProductAttributeValue; use Webkul\Product\Models\ProductFlat; @@ -59,7 +58,6 @@ class Grouped extends AbstractType * @param \Webkul\Product\Repositories\ProductInventoryRepository $productInventoryRepository * @param \Webkul\Product\Repositories\ProductImageRepository $productImageRepository * @param \Webkul\Product\Repositories\ProductGroupedProductRepository $productGroupedProductRepository - * @param \Webkul\Product\Helpers\ProductImage $productImageHelper * @param \Webkul\Product\Repositories\ProductVideoRepository $productVideoRepository * @return void */ @@ -70,7 +68,6 @@ class Grouped extends AbstractType ProductInventoryRepository $productInventoryRepository, ProductImageRepository $productImageRepository, ProductGroupedProductRepository $productGroupedProductRepository, - ProductImage $productImageHelper, ProductVideoRepository $productVideoRepository ) { @@ -80,7 +77,6 @@ class Grouped extends AbstractType $attributeValueRepository, $productInventoryRepository, $productImageRepository, - $productImageHelper, $productVideoRepository ); diff --git a/packages/Webkul/Shop/src/Resources/views/checkout/cart/index.blade.php b/packages/Webkul/Shop/src/Resources/views/checkout/cart/index.blade.php index d44caa83c..f14a10383 100755 --- a/packages/Webkul/Shop/src/Resources/views/checkout/cart/index.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/checkout/cart/index.blade.php @@ -5,8 +5,6 @@ @stop @section('content-wrapper') - @inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage') -
    @if ($cart)
    diff --git a/packages/Webkul/Shop/src/Resources/views/checkout/cart/mini-cart.blade.php b/packages/Webkul/Shop/src/Resources/views/checkout/cart/mini-cart.blade.php index 4477af9b0..6750f8fdd 100755 --- a/packages/Webkul/Shop/src/Resources/views/checkout/cart/mini-cart.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/checkout/cart/mini-cart.blade.php @@ -1,5 +1,3 @@ -@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage') - getCart(); ?> @if ($cart) diff --git a/packages/Webkul/Shop/src/Resources/views/checkout/onepage/review.blade.php b/packages/Webkul/Shop/src/Resources/views/checkout/onepage/review.blade.php index 223514041..43950ef85 100755 --- a/packages/Webkul/Shop/src/Resources/views/checkout/onepage/review.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/checkout/onepage/review.blade.php @@ -68,8 +68,6 @@
    - @inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage') -
    @foreach ($cart->items as $item) @php diff --git a/packages/Webkul/Shop/src/Resources/views/customers/account/reviews/index.blade.php b/packages/Webkul/Shop/src/Resources/views/customers/account/reviews/index.blade.php index 28683a5c4..540a3b88d 100755 --- a/packages/Webkul/Shop/src/Resources/views/customers/account/reviews/index.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/customers/account/reviews/index.blade.php @@ -1,5 +1,3 @@ -@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage') - @extends('shop::layouts.master') @section('page_title') @@ -34,7 +32,7 @@ @foreach ($reviews as $review)