403Webshell
Server IP : 85.158.181.41  /  Your IP : 216.73.217.12
Web Server : Apache
System : Linux cloud9-vm129 6.1.178+1-ph #ph SMP PREEMPT_DYNAMIC Wed Jul 29 09:00:54 UTC 2026 x86_64
User : moncbefd ( 1024)
PHP Version : 7.3.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/moncbefd/www.moneta.at/GXMainComponents/Services/Core/Slider/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/moncbefd/www.moneta.at/GXMainComponents/Services/Core/Slider//SliderWriteService.inc.php
<?php

/* --------------------------------------------------------------
   SliderWriteService.inc.php 2016-11-01
   Gambio GmbH
   http://www.gambio.de
   Copyright (c) 2016 Gambio GmbH
   Released under the GNU General Public License (Version 2)
   [http://www.gnu.org/licenses/gpl-2.0.html]
   --------------------------------------------------------------
*/

/**
 * Class SliderWriteService
 *
 * @category   System
 * @package    Slider
 */
class SliderWriteService implements SliderWriteServiceInterface
{
    /**
     * @var SliderRepositoryInterface
     */
    protected $sliderRepository;
    
    /**
     * @var SlideRepositoryInterface
     */
    protected $slideRepository;
    
    /**
     * @var SlideImageRepositoryInterface
     */
    protected $slideImageRepository;
    
    /**
     * @var SlideImageAreaRepositoryInterface
     */
    protected $slideImageAreaRepository;
    
    /**
     * @var SliderAssignmentRepositoryInterface
     */
    protected $sliderAssignmentRepository;
    
    /**
     * @var SlideImageFileStorage
     */
    protected $slideImageFileStorage;
    
    
    /**
     * SliderWriteService constructor.
     *
     * @param SliderRepositoryInterface           $sliderRepository
     * @param SlideRepositoryInterface            $slideRepository
     * @param SlideImageRepositoryInterface       $slideImageRepository
     * @param SlideImageAreaRepositoryInterface   $slideImageAreaRepository
     * @param SliderAssignmentRepositoryInterface $sliderAssignmentRepository
     * @param SlideImageFileStorage               $slideImageFileStorage
     */
    public function __construct(
        SliderRepositoryInterface $sliderRepository,
        SlideRepositoryInterface $slideRepository,
        SlideImageRepositoryInterface $slideImageRepository,
        SlideImageAreaRepositoryInterface $slideImageAreaRepository,
        SliderAssignmentRepositoryInterface $sliderAssignmentRepository,
        SlideImageFileStorage $slideImageFileStorage
    ) {
        $this->sliderRepository           = $sliderRepository;
        $this->slideRepository            = $slideRepository;
        $this->slideImageRepository       = $slideImageRepository;
        $this->slideImageAreaRepository   = $slideImageAreaRepository;
        $this->sliderAssignmentRepository = $sliderAssignmentRepository;
        $this->slideImageFileStorage      = $slideImageFileStorage;
    }
    
    
    /**
     * Saves a Slider to the database and delegates to child-repositories.
     *
     * @param SliderInterface $slider
     *
     * @return SliderInterface The stored Slider instance.
     */
    public function saveSlider(SliderInterface $slider)
    {
        $this->sliderRepository->store($slider);
        
        return $slider;
    }
    
    
    /**
     * Set the Slider for the start page.
     *
     * @param IdType $sliderId
     *
     * @return SliderWriteServiceInterface Same instance for method chaining.
     */
    public function setStartPageSlider(IdType $sliderId)
    {
        $this->sliderRepository->setStartPageSlider($sliderId);
        
        return $this;
    }
    
    
    /**
     * Saves a Slide to the database and delegates to child-repositories.
     *
     * @param IdType         $sliderId
     * @param SlideInterface $slide
     *
     * @return SlideInterface The stored Slide instance.
     */
    public function addSlide(IdType $sliderId, SlideInterface $slide)
    {
        $this->slideRepository->store($sliderId, $slide);
        
        return $slide;
    }
    
    
    /**
     * Saves a SlideImage to the database.
     *
     * @param IdType              $slideId
     * @param SlideImageInterface $slideImage
     *
     * @return SlideImageInterface The stored SlideImage instance.
     */
    public function addSlideImage(IdType $slideId, SlideImageInterface $slideImage)
    {
        $this->slideImageRepository->store($slideId, $slideImage);
        
        return $slideImage;
    }
    
    
    /**
     * Saves a SlideImageArea to the database.
     *
     * @param IdType                  $slideImageId
     * @param SlideImageAreaInterface $slideImageArea
     *
     * @return SlideImageAreaInterface The stored SlideImageArea instance.
     */
    public function addSlideImageArea(IdType $slideImageId, SlideImageAreaInterface $slideImageArea)
    {
        $this->slideImageAreaRepository->store($slideImageId, $slideImageArea);
        
        return $slideImageArea;
    }
    
    
    /**
     * Deletes a Slider by the given slider ID.
     *
     * @param IdType $sliderId
     *
     * @return SliderWriteServiceInterface Same instance for method chaining.
     */
    public function deleteSliderById(IdType $sliderId)
    {
        $this->sliderRepository->deleteSliderById($sliderId);
        $this->sliderAssignmentRepository->deleteBySliderId($sliderId);
        
        return $this;
    }
    
    
    /**
     * Deletes a Slide by the given slide ID.
     *
     * @param IdType $slideId
     *
     * @return SliderWriteServiceInterface Same instance for method chaining.
     */
    public function deleteSlideById(IdType $slideId)
    {
        $this->slideRepository->deleteSlideById($slideId);
        
        return $this;
    }
    
    
    /**
     * Deletes a SlideImage by the given slide image ID.
     *
     * @param IdType $slideImageId
     *
     * @return SliderWriteServiceInterface Same instance for method chaining.
     */
    public function deleteSlideImageById(IdType $slideImageId)
    {
        $this->slideImageRepository->deleteSlideImageById($slideImageId);
        
        return $this;
    }
    
    
    /**
     * Deletes a SlideImageArea by the given slide image area ID.
     *
     * @param IdType $slideImageAreaId
     *
     * @return SliderWriteServiceInterface Same instance for method chaining.
     */
    public function deleteSlideImageAreaById(IdType $slideImageAreaId)
    {
        $this->slideImageAreaRepository->deleteSlideImageAreaById($slideImageAreaId);
        
        return $this;
    }
    
    
    /**
     * Deletes SlideImageAreas by the given slide image ID.
     *
     * @param IdType $slideImageId
     *
     * @return SliderWriteServiceInterface Same instance for method chaining.
     */
    public function deleteSlideImageAreasBySlideImageId(IdType $slideImageId)
    {
        $this->slideImageAreaRepository->deleteSlideImageAreasBySlideImageId($slideImageId);
        
        return $this;
    }
    
    
    /**
     * Import slide image file.
     *
     * Use this method for importing an uploaded file to the correct slides directory.
     *
     * @param ExistingFile       $sourceFile        The existing file to import.
     * @param FilenameStringType $preferredFilename The preferred filename.
     *
     * @return string New filename.
     *
     * @throws InvalidArgumentException Through SlideImageFileStorage
     */
    public function importSlideImageFile(ExistingFile $sourceFile, FilenameStringType $preferredFilename)
    {
        $newFilename = $this->slideImageFileStorage->importImage($sourceFile, $preferredFilename);
        
        return $newFilename;
    }
    
    
    /**
     * Import slide thumbnail image file.
     *
     * Use this method for importing an uploaded file to the correct thumbnails directory.
     *
     * @param ExistingFile       $sourceFile        The existing file to import.
     * @param FilenameStringType $preferredFilename The preferred filename.
     *
     * @return string New filename.
     *
     * @throws InvalidArgumentException Through SlideImageFileStorage
     */
    public function importSlideThumbnailImageFile(ExistingFile $sourceFile, FilenameStringType $preferredFilename)
    {
        $newFilename = $this->slideImageFileStorage->importThumbnailImage($sourceFile, $preferredFilename);
        
        return $newFilename;
    }
    
    
    /**
     * Rename a slide image file.
     *
     * @param FilenameStringType $oldName The old name of the slide image file.
     * @param FilenameStringType $newName The new name of the slide image file.
     *
     * @return SliderWriteServiceInterface Same instance for method chaining.
     *
     * @throws InvalidArgumentException Through SlideImageFileStorage
     */
    public function renameSlideImageFile(FilenameStringType $oldName, FilenameStringType $newName)
    {
        $this->slideImageFileStorage->renameImage($oldName, $newName);
        
        return $this;
    }
    
    
    /**
     * Rename a slide thumbnail image file.
     *
     * @param FilenameStringType $oldName The old name of the slide image thumbnail file.
     * @param FilenameStringType $newName The new name of the slide image thumbnail file.
     *
     * @return SliderWriteServiceInterface Same instance for method chaining.
     *
     * @throws InvalidArgumentException Through SlideImageFileStorage
     */
    public function renameSlideThumbnailImageFile(FilenameStringType $oldName, FilenameStringType $newName)
    {
        $this->slideImageFileStorage->renameThumbnailImage($oldName, $newName);
        
        return $this;
    }
    
    
    /**
     * Delete a slide image file.
     *
     * @param FilenameStringType $filename The filename of the slide image to be removed.
     *
     * @return SliderWriteServiceInterface Same instance for method chaining.
     */
    public function deleteSlideImageFile(FilenameStringType $filename)
    {
        $this->slideImageFileStorage->deleteImage($filename);
        $this->slideImageRepository->unsetSlideImageReference($filename);
        
        return $this;
    }
    
    
    /**
     * Delete a slide thumbnail image file.
     *
     * @param FilenameStringType $filename The filename of the slide image thumbnail to be removed.
     *
     * @return SliderWriteServiceInterface Same instance for method chaining.
     */
    public function deleteSlideThumbnailImageFile(FilenameStringType $filename)
    {
        $this->slideImageFileStorage->deleteThumbnailImage($filename);
        $this->slideRepository->unsetSlideThumbnailReference($filename);
        
        return $this;
    }
    
    
    /**
     * Deletes all slider assignments by the given slider ID.
     *
     * @param IdType $sliderId
     *
     * @return SliderWriteServiceInterface Same instance for method chaining.
     */
    public function deleteSliderAssignmentsBySliderId(IdType $sliderId)
    {
        $this->sliderAssignmentRepository->deleteBySliderId($sliderId);
        
        return $this;
    }
    
    
    /**
     * Deletes a slider assignment by the given category ID.
     *
     * @param IdType $categoryId
     *
     * @return SliderWriteServiceInterface Same instance for method chaining.
     */
    public function deleteSliderAssignmentByCategoryId(IdType $categoryId)
    {
        $entityType = new NonEmptyStringType('category');
        
        $this->sliderAssignmentRepository->deleteByEntityTypeAndEntityId($entityType, $categoryId);
        
        return $this;
    }
    
    
    /**
     * Deletes a slider assignment by the given content ID.
     *
     * @param IdType $contentId
     *
     * @return SliderWriteServiceInterface Same instance for method chaining.
     */
    public function deleteSliderAssignmentByContentId(IdType $contentId)
    {
        $entityType = new NonEmptyStringType('content');
        
        $this->sliderAssignmentRepository->deleteByEntityTypeAndEntityId($entityType, $contentId);
        
        return $this;
    }
    
    
    /**
     * Deletes a slider assignment by the given product ID.
     *
     * @param IdType $productId
     *
     * @return SliderWriteServiceInterface Same instance for method chaining.
     */
    public function deleteSliderAssignmentByProductId(IdType $productId)
    {
        $entityType = new NonEmptyStringType('product');
        
        $this->sliderAssignmentRepository->deleteByEntityTypeAndEntityId($entityType, $productId);
        
        return $this;
    }
    
    
    /**
     * Inserts a slider assignment for the given category ID into the database.
     *
     * @param IdType $sliderId
     * @param IdType $categoryId
     *
     * @return SliderWriteServiceInterface Same instance for method chaining.
     */
    public function saveSliderAssignmentForCategoryId(IdType $sliderId, IdType $categoryId)
    {
        $entityType = new NonEmptyStringType('category');
        
        $this->sliderAssignmentRepository->store($sliderId, $entityType, $categoryId);
        
        return $this;
    }
    
    
    /**
     * Inserts a slider assignment for the given content ID into the database.
     *
     * @param IdType $sliderId
     * @param IdType $contentId
     *
     * @return SliderWriteServiceInterface Same instance for method chaining.
     */
    public function saveSliderAssignmentForContentId(IdType $sliderId, IdType $contentId)
    {
        $entityType = new NonEmptyStringType('content');
        
        $this->sliderAssignmentRepository->store($sliderId, $entityType, $contentId);
        
        return $this;
    }
    
    
    /**
     * Inserts a slider assignment for the given product ID into the database.
     *
     * @param IdType $sliderId
     * @param IdType $productId
     *
     * @return SliderWriteServiceInterface Same instance for method chaining.
     */
    public function saveSliderAssignmentForProductId(IdType $sliderId, IdType $productId)
    {
        $entityType = new NonEmptyStringType('product');
        
        $this->sliderAssignmentRepository->store($sliderId, $entityType, $productId);
        
        return $this;
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit