Overview
  • Package
  • Class
  • Tree
  • Todo

Packages

  • AddonValue
    • Interfaces
  • AdminHttpViewControllers
  • ApiV2Controllers
  • Category
    • Collections
    • Entities
    • Factories
    • Interfaces
    • Providers
    • Repositories
    • Storages
  • Customer
    • Address
    • Country
    • CountryZone
    • Interfaces
    • Storages
    • Validation
    • ValueObjects
  • Email
    • Collections
    • Entities
    • Exceptions
    • Interfaces
    • Repository
    • ValueObjects
  • Extensions
    • Customers
    • Emails
    • Helpers
    • Orders
    • Serializers
  • Http
    • Collections
    • Exceptions
    • Factories
    • Interfaces
    • ValueObjects
  • HttpViewControllers
  • InfoBox
    • Interfaces
  • Invoice
    • Interfaces
    • ValueObjects
  • Loaders
    • CrossCuttingLoader
    • GXCoreLoader
    • Interfaces
  • Modules
    • Collections
    • Controllers
    • Interfaces
  • Order
    • Collections
    • Entities
    • Factories
    • Interfaces
    • Repositories
    • Storages
    • ValueObjects
  • Product
    • Collections
    • Entities
    • Factories
    • Interfaces
    • Providers
    • Repositories
    • Storages
  • ProductModule
    • Collections
    • Deleter
    • Entities
    • Factories
    • Interface
    • Interfaces
    • Reader
    • Repositories
    • Writer
  • Shared
    • ClassFinder
    • Exceptions
    • FileSystem
    • Interfaces
    • Storage
    • Types
  • SharedShoppingCart
    • Interfaces
  • Statistics
    • Interfaces
  • UserConfiguration
    • Interfaces
    • Repository

Classes

  • AbstractAddonValueServiceFactory
  • AbstractAddonValueStorage
  • AbstractApiV2Controller
  • AbstractCategoryServiceFactory
  • AbstractCollection
  • AbstractCreateAccountProcess
  • AbstractCustomerFactory
  • AbstractCustomerServiceFactory
  • AbstractFileStorage
  • AbstractHttpContextFactory
  • AbstractHttpViewControllerRegistryFactory
  • AbstractImagesApiV2Controller
  • AbstractInvoiceServiceFactory
  • AbstractJsonSerializer
  • AbstractModuleCenterModule
  • AbstractModuleCenterModuleController
  • AbstractOrderServiceFactory
  • AbstractProductAttributeServiceFactory
  • AbstractProductServiceFactory
  • AddonValueService
  • AddonValueServiceFactory
  • AddonValueStorageFactory
  • AddressBlock
  • AddressBookService
  • AddressClass
  • AddressesApiV2Controller
  • AddressFormatProvider
  • AddressJsonSerializer
  • AdminFavoritesAjaxController
  • AdminHttpViewController
  • AdminInfoBoxAjaxController
  • AdminLayoutHttpControllerResponse
  • AdminPageHttpControllerResponse
  • AffiliPrintModuleCenterModule
  • AffiliPrintModuleCenterModuleController
  • AfterbuyAjaxController
  • AfterbuyModuleCenterModule
  • AfterbuyModuleCenterModuleController
  • AmazonAdvPaymentsModuleCenterModuleController
  • Asset
  • AssetCollection
  • AttachmentCollection
  • AttachmentName
  • AttachmentPath
  • AttachmentsApiV2Controller
  • AttachmentsHandler
  • BoolType
  • BrickfoxModuleCenterModule
  • BrickfoxModuleCenterModuleController
  • CacheTokenHelper
  • CartController
  • CartDropdownController
  • CartShippingCostsController
  • CategoriesApiV2Controller
  • Category
  • CategoryAddonValueStorage
  • CategoryFactory
  • CategoryIconsApiV2Controller
  • CategoryImagesApiV2Controller
  • CategoryJsonSerializer
  • CategoryListItem
  • CategoryListItemCollection
  • CategoryListItemJsonSerializer
  • CategoryListProvider
  • CategoryListProviderFactory
  • CategoryObjectService
  • CategoryReadService
  • CategoryRepository
  • CategoryRepositoryDeleter
  • CategoryRepositoryReader
  • CategoryRepositoryWriter
  • CategoryServiceFactory
  • CategorySettings
  • CategorySettingsRepository
  • CategorySettingsRepositoryReader
  • CategorySettingsRepositoryWriter
  • CategoryWriteService
  • CheckQuantityController
  • CheckStatusController
  • ClassFinder
  • ColorHelper
  • ContactCollection
  • ContactName
  • ContactType
  • ContentNavigationCollection
  • CookieBarController
  • CountriesApiV2Controller
  • CountryJsonSerializer
  • CountryService
  • CreateAccountProcess
  • CreateGuestController
  • CreateRegistreeController
  • CrossCuttingLoader
  • CurrencyCode
  • Customer
  • CustomerAccountInputValidator
  • CustomerAdditionalAddressInfo
  • CustomerAddonValueStorage
  • CustomerAddress
  • CustomerAddressDeleter
  • CustomerAddressInputValidator
  • CustomerAddressReader
  • CustomerAddressRepository
  • CustomerAddressWriter
  • CustomerB2BStatus
  • CustomerCallNumber
  • CustomerCity
  • CustomerCompany
  • CustomerCountry
  • CustomerCountryIso2
  • CustomerCountryIso3
  • CustomerCountryName
  • CustomerCountryReader
  • CustomerCountryRepository
  • CustomerCountryZone
  • CustomerCountryZoneIsoCode
  • CustomerCountryZoneName
  • CustomerCountryZoneReader
  • CustomerCountryZoneRepository
  • CustomerDateOfBirth
  • CustomerDeleter
  • CustomerEmail
  • CustomerFactory
  • CustomerFirstname
  • CustomerGender
  • CustomerHouseNumber
  • CustomerInputToCollectionTransformer
  • CustomerInputValidator
  • CustomerInputValidatorSettings
  • CustomerJsonSerializer
  • CustomerLastname
  • CustomerMemo
  • CustomerMemoCollection
  • CustomerNumber
  • CustomerPassword
  • CustomerPostcode
  • CustomerReader
  • CustomerReadService
  • CustomerRegistrationInputValidatorService
  • CustomerRepository
  • CustomersApiV2Controller
  • CustomerService
  • CustomerServiceFactory
  • CustomerServiceSettings
  • CustomerStatusHelper
  • CustomerStatusInformation
  • CustomerStatusProvider
  • CustomerStreet
  • CustomerSuburb
  • CustomerVatNumber
  • CustomerWriter
  • CustomerWriteService
  • DashboardController
  • DataTableColumn
  • DataTableColumnCollection
  • DataTableColumnType
  • DataTableHelper
  • DecimalType
  • DefaultApiV2Controller
  • DocumentFileStorage
  • DynamicShopMessagesController
  • EditableCollection
  • EditableKeyValueCollection
  • EkomiModuleCenterModule
  • EkomiModuleCenterModuleController
  • Email
  • EmailAddress
  • EmailAttachment
  • EmailCollection
  • EmailContact
  • EmailContent
  • EmailDeleter
  • EmailFactory
  • EmailJsonSerializer
  • EmailParser
  • EmailReader
  • EmailRepository
  • EmailsApiV2Controller
  • EmailsController
  • EmailService
  • EmailStringType
  • EmailSubject
  • EmailWriter
  • EmbeddedModuleController
  • EmptyCurrencyCode
  • EmptyDateTime
  • EmptyLanguageCode
  • EmptyProductImage
  • EnvCategoryServiceSettings
  • EnvironmentClassFinderSettings
  • EnvironmentHttpContextFactory
  • EnvironmentHttpViewControllerRegistryFactory
  • EnvProductImageFileStorageSettings
  • ExistingDirectory
  • ExistingFile
  • ExtraContentController
  • FileDownloadInformation
  • FilenameStringType
  • FilesystemHelper
  • FilterController
  • FindologicModuleCenterModule
  • FindologicModuleCenterModuleController
  • GoogleAdwordConversionModuleCenterModule
  • GoogleAdwordConversionModuleCenterModuleController
  • GXCoreLoader
  • GXCoreLoaderSettings
  • GXEngineOrder
  • GXEngineProduct
  • HeidelpayModuleCenterModuleController
  • HermesModuleCenterModule
  • HermesModuleCenterModuleController
  • HttpApiV2Controller
  • HttpContext
  • HttpContextReader
  • HttpControllerResponse
  • HttpDispatcher
  • HttpResponseProcessor
  • HttpService
  • HttpServiceFactory
  • HttpViewController
  • HttpViewControllerFactory
  • HttpViewControllerRegistry
  • Id
  • IdCollection
  • IdType
  • IloxxModuleCenterModule
  • IloxxModuleCenterModuleController
  • ImageFileStorage
  • ImageProcessingController
  • ImageRequestController
  • InfoBoxDeleter
  • InfoBoxMessage
  • InfoBoxMessageCollection
  • InfoBoxReader
  • InfoBoxService
  • InfoBoxWriter
  • IntrashipModuleCenterModule
  • IntrashipModuleCenterModuleController
  • IntType
  • InvoiceArchiveReadService
  • InvoiceArchiveWriteService
  • InvoiceFileEntitler
  • InvoiceFileFinder
  • InvoiceInformation
  • InvoiceListGenerator
  • InvoiceListItem
  • InvoiceListItemCollection
  • InvoicesController
  • InvoiceServiceFactory
  • InvoiceStorage
  • ItRechtModuleCenterModule
  • ItRechtModuleCenterModuleController
  • JanolawModuleCenterModule
  • JanolawModuleCenterModuleController
  • JSEngineConfiguration
  • JsonHttpControllerResponse
  • JsTranslationsController
  • KeyValueCollection
  • KlarnaModuleCenterModuleController
  • LanguageCode
  • LanguageHelper
  • LanguageProvider
  • LawsController
  • LegacyProductImageProcessing
  • LettrModuleCenterModule
  • LettrModuleCenterModuleController
  • LiveSearchController
  • MagnalisterModuleCenterModule
  • MagnalisterModuleCenterModuleController
  • MailbeezModuleCenterModule
  • MailbeezModuleCenterModuleController
  • MailerAdapter
  • MaxFileSizeController
  • MediafinanzModuleCenterModule
  • MediafinanzModuleCenterModuleController
  • ModuleCenterController
  • ModuleCenterModuleCollection
  • NewAttributesController
  • NewsletterLinkModuleCenterModule
  • NewsletterLinkModuleCenterModuleController
  • NonEmptyStringType
  • OldOrderOverviewModuleCenterModule
  • OldOrderOverviewModuleCenterModuleController
  • OrderActions
  • OrderAddonValueStorage
  • OrderAddressBlock
  • OrderFactory
  • OrderItem
  • OrderItemAddonValueStorage
  • OrderItemAttribute
  • OrderItemAttributeCollection
  • OrderItemAttributeFactory
  • OrderItemAttributeRepository
  • OrderItemAttributeRepositoryDeleter
  • OrderItemAttributeRepositoryFactory
  • OrderItemAttributeRepositoryReader
  • OrderItemAttributeRepositoryWriter
  • OrderItemCollection
  • OrderItemDownloadInformation
  • OrderItemDownloadInformationCollection
  • OrderItemFactory
  • OrderItemProperty
  • OrderItemPropertyFactory
  • OrderItemPropertyRepository
  • OrderItemPropertyRepositoryDeleter
  • OrderItemPropertyRepositoryReader
  • OrderItemPropertyRepositoryWriter
  • OrderItemRepository
  • OrderItemRepositoryDeleter
  • OrderItemRepositoryReader
  • OrderItemRepositoryWriter
  • OrderJsonSerializer
  • OrderListGenerator
  • OrderListItem
  • OrderListItemCollection
  • OrderListItemJsonSerializer
  • OrderObjectService
  • OrderPaymentType
  • OrderReadService
  • OrderRepository
  • OrderRepositoryDeleter
  • OrderRepositoryReader
  • OrderRepositoryWriter
  • OrdersApiV2Controller
  • OrderServiceFactory
  • OrderServiceSettings
  • OrderShippingType
  • OrdersHistoryApiV2Controller
  • OrdersItemsApiV2Controller
  • OrdersItemsAttributesApiV2Controller
  • OrdersModalsAjaxController
  • OrdersOverviewAjaxController
  • OrdersOverviewColumns
  • OrdersOverviewController
  • OrdersOverviewTooltips
  • OrderStatusHistoryListItem
  • OrderStatusHistoryListItemCollection
  • OrderStatusHistoryStorage
  • OrderStatusStyles
  • OrdersTotalsApiV2Controller
  • OrderTooltipController
  • OrderTotal
  • OrderTotalCollection
  • OrderTotalFactory
  • OrderTotalRepository
  • OrderTotalRepositoryDeleter
  • OrderTotalRepositoryReader
  • OrderTotalRepositoryWriter
  • OrderTrackingInformationCollection
  • OrderWriteService
  • PackedDownloadController
  • PayOneModuleCenterModuleController
  • PayPalConfigurationController
  • PayPalController
  • PaypalNGModuleCenterModuleController
  • PostfinderModuleCenterModule
  • PostfinderModuleCenterModuleController
  • ProductAddonValueStorage
  • ProductAttribute
  • ProductAttributeCollection
  • ProductAttributeFactory
  • ProductAttributeObjectService
  • ProductAttributeRepository
  • ProductAttributeRepositoryDeleter
  • ProductAttributeRepositoryReader
  • ProductAttributeRepositoryWriter
  • ProductAttributeService
  • ProductAttributeServiceFactory
  • ProductAttributesModuleCenterModule
  • ProductAttributesModuleCenterModuleController
  • ProductCategoryLinker
  • ProductFactory
  • ProductImage
  • ProductImageCollection
  • ProductImageContainer
  • ProductImageContainerRepository
  • ProductImageFileStorage
  • ProductImagesApiV2Controller
  • ProductJsonSerializer
  • ProductListItem
  • ProductListItemCollection
  • ProductListItemJsonSerializer
  • ProductListProvider
  • ProductListProviderFactory
  • ProductObjectService
  • ProductPermissionSetter
  • ProductQuestionController
  • ProductReadService
  • ProductRepository
  • ProductRepositoryDeleter
  • ProductRepositoryReader
  • ProductRepositoryWriter
  • ProductsApiV2Controller
  • ProductServiceFactory
  • ProductSettings
  • ProductSettingsRepository
  • ProductSettingsRepositoryReader
  • ProductSettingsRepositoryWriter
  • ProductsLinksApiV2Controller
  • ProductWriteService
  • ProtectedShopsModuleCenterModule
  • ProtectedShopsModuleCenterModuleController
  • RedirectHttpControllerResponse
  • SharedShoppingCartConfigurationController
  • SharedShoppingCartController
  • SharedShoppingCartDeleter
  • SharedShoppingCartModuleCenterModule
  • SharedShoppingCartModuleCenterModuleController
  • SharedShoppingCartReader
  • SharedShoppingCartRepository
  • SharedShoppingCartService
  • SharedShoppingCartSettings
  • SharedShoppingCartWriter
  • ShipcloudController
  • ShipcloudModuleCenterModule
  • ShipcloudModuleCenterModuleController
  • ShopKeyController
  • StaticCrossCuttingLoader
  • StaticGXCoreLoader
  • StatisticsService
  • StoredCategory
  • StoredOrderItem
  • StoredOrderItemAttribute
  • StoredOrderItemAttributeCollection
  • StoredOrderItemCollection
  • StoredOrderItemProperty
  • StoredOrderTotal
  • StoredOrderTotalCollection
  • StoredProduct
  • StoredProductAttribute
  • StoredProductAttributeCollection
  • StringCollection
  • StringHelper
  • StringType
  • StyleEdit3AuthenticationController
  • TemplateConfigurationController
  • TrustedShopsModuleCenterModule
  • TrustedShopsModuleCenterModuleController
  • UnknownCustomerCountry
  • UploadedFile
  • UrlRewrite
  • UrlRewriteCollection
  • UrlRewriteStorage
  • UserConfigurationController
  • UserConfigurationReader
  • UserConfigurationService
  • UserConfigurationWriter
  • VatNumberValidator
  • WishListController
  • WritableDirectory
  • WritableFile
  • YategoModuleCenterModule
  • YategoModuleCenterModuleController
  • YoochooseModuleCenterModule
  • YoochooseModuleCenterModuleController
  • ZoneJsonSerializer
  • ZonesApiV2Controller

Interfaces

  • AddonValueContainerInterface
  • AddonValueServiceInterface
  • AddonValueStorageFactoryInterface
  • AddressBlockInterface
  • AddressBookServiceInterface
  • AddressClassInterface
  • AddressFormatProviderInterface
  • AdminStatusOnlyInterface
  • AssetCollectionInterface
  • AssetInterface
  • AttachmentCollectionInterface
  • AttachmentNameInterface
  • AttachmentPathInterface
  • AttachmentsHandlerInterface
  • CacheTokenHelperInterface
  • CategoryFactoryInterface
  • CategoryInterface
  • CategoryListProviderFactoryInterface
  • CategoryListProviderInterface
  • CategoryObjectServiceInterface
  • CategoryReadServiceInterface
  • CategoryRepositoryDeleterInterface
  • CategoryRepositoryInterface
  • CategoryRepositoryReaderInterface
  • CategoryRepositoryWriterInterface
  • CategoryServiceSettingsInterface
  • CategorySettingsInterface
  • CategorySettingsRepositoryInterface
  • CategorySettingsRepositoryReaderInterface
  • CategorySettingsRepositoryWriterInterface
  • CategoryWriteServiceInterface
  • ClassFinderInterface
  • ClassFinderSettingsInterface
  • ContactCollectionInterface
  • ContactNameInterface
  • ContactTypeInterface
  • ContentNavigationCollectionInterface
  • ContentViewInterface
  • CountryServiceInterface
  • CrossCuttingLoaderInterface
  • CrossCuttingObjectInterface
  • CustomerAccountInputValidatorInterface
  • CustomerAdditionalAddressInfoInterface
  • CustomerAddressDeleterInterface
  • CustomerAddressInputValidatorInterface
  • CustomerAddressInterface
  • CustomerAddressReaderInterface
  • CustomerAddressRepositoryInterface
  • CustomerAddressWriterInterface
  • CustomerB2BStatusInterface
  • CustomerCallNumberInterface
  • CustomerCityInterface
  • CustomerCompanyInterface
  • CustomerCountryInterface
  • CustomerCountryIso2Interface
  • CustomerCountryIso3Interface
  • CustomerCountryNameInterface
  • CustomerCountryReaderInterface
  • CustomerCountryRepositoryInterface
  • CustomerCountryZoneInterface
  • CustomerCountryZoneIsoCodeInterface
  • CustomerCountryZoneNameInterface
  • CustomerCountryZoneReaderInterface
  • CustomerCountryZoneRepositoryInterface
  • CustomerDeleterInterface
  • CustomerEmailInterface
  • CustomerFirstnameInterface
  • CustomerGenderInterface
  • CustomerHouseNumberInterface
  • CustomerInputValidatorInterface
  • CustomerInputValidatorSettingsInterface
  • CustomerInterface
  • CustomerLastnameInterface
  • CustomerNumberInterface
  • CustomerPasswordInterface
  • CustomerPostcodeInterface
  • CustomerReaderInterface
  • CustomerReadServiceInterface
  • CustomerRegistrationInputValidatorServiceInterface
  • CustomerRepositoryInterface
  • CustomerServiceInterface
  • CustomerServiceSettingsInterface
  • CustomerStatusHelperInterface
  • CustomerStatusProviderInterface
  • CustomerStreetInterface
  • CustomerSuburbInterface
  • CustomerVatNumberInterface
  • CustomerWriterInterface
  • CustomerWriteServiceInterface
  • EmailAddressInterface
  • EmailAttachmentInterface
  • EmailCollectionInterface
  • EmailContactInterface
  • EmailContentInterface
  • EmailDeleterInterface
  • EmailFactoryInterface
  • EmailInterface
  • EmailReaderInterface
  • EmailRepositoryInterface
  • EmailServiceInterface
  • EmailSubjectInterface
  • EmailWriterInterface
  • FilesystemHelperInterface
  • GXCoreLoaderInterface
  • GXCoreLoaderSettingsInterface
  • HttpContextInterface
  • HttpContextReaderInterface
  • HttpControllerResponseInterface
  • HttpDispatcherInterface
  • HttpResponseProcessorInterface
  • HttpServiceFactoryInterface
  • HttpServiceInterface
  • HttpViewControllerFactoryInterface
  • HttpViewControllerInterface
  • HttpViewControllerRegistryInterface
  • IdInterface
  • InfoBoxDeleterInterface
  • InfoBoxMessageInterface
  • InfoBoxReaderInterface
  • InfoBoxServiceInterface
  • InfoBoxWriterInterface
  • InvoiceArchiveReadServiceInterface
  • InvoiceArchiveWriteServiceInterface
  • InvoiceFileEntitlerInterface
  • InvoiceFileFinderInterface
  • InvoiceListGeneratorInterface
  • InvoiceStorageInterface
  • LanguageHelperInterface
  • LanguageProviderInterface
  • MailerAdapterInterface
  • ModuleCenterModuleCollectionInterface
  • ModuleCenterModuleInterface
  • OrderFactoryInterface
  • OrderInterface
  • OrderItemAttributeFactoryInterface
  • OrderItemAttributeInterface
  • OrderItemAttributeRepositoryDeleterInterface
  • OrderItemAttributeRepositoryFactoryInterface
  • OrderItemAttributeRepositoryInterface
  • OrderItemAttributeRepositoryReaderInterface
  • OrderItemAttributeRepositoryWriterInterface
  • OrderItemFactoryInterface
  • OrderItemInterface
  • OrderItemPropertyFactoryInterface
  • OrderItemPropertyRepositoryDeleterInterface
  • OrderItemPropertyRepositoryReaderInterface
  • OrderItemPropertyRepositoryWriterInterface
  • OrderItemRepositoryDeleterInterface
  • OrderItemRepositoryInterface
  • OrderItemRepositoryReaderInterface
  • OrderItemRepositoryWriterInterface
  • OrderListGeneratorInterface
  • OrderObjectServiceInterface
  • OrderPaymentTypeInterface
  • OrderReadServiceInterface
  • OrderRepositoryDeleterInterface
  • OrderRepositoryInterface
  • OrderRepositoryReaderInterface
  • OrderRepositoryWriterInterface
  • OrderServiceSettingsInterface
  • OrderShippingTypeInterface
  • OrderStatusHistoryReaderInterface
  • OrderStatusHistoryWriterInterface
  • OrderTotalFactoryInterface
  • OrderTotalInterface
  • OrderTotalRepositoryDeleterInterface
  • OrderTotalRepositoryInterface
  • OrderTotalRepositoryReaderInterface
  • OrderTotalRepositoryWriterInterface
  • OrderWriteServiceInterface
  • ProductAttributeFactoryInterface
  • ProductAttributeInterface
  • ProductAttributeObjectServiceInterface
  • ProductAttributeRepositoryDeleterInterface
  • ProductAttributeRepositoryInterface
  • ProductAttributeRepositoryReaderInterface
  • ProductAttributeRepositoryWriterInterface
  • ProductAttributeServiceInterface
  • ProductCategoryLinkerInterface
  • ProductFactoryInterface
  • ProductImageContainerInterface
  • ProductImageContainerRepositoryInterface
  • ProductImageInterface
  • ProductImagePathsSettingsInterface
  • ProductImageProcessingInterface
  • ProductInterface
  • ProductListProviderFactoryInterface
  • ProductListProviderInterface
  • ProductObjectServiceInterface
  • ProductPermissionSetterInterface
  • ProductReadServiceInterface
  • ProductRepositoryDeleterInterface
  • ProductRepositoryInterface
  • ProductRepositoryReaderInterface
  • ProductRepositoryWriterInterface
  • ProductSettingsInterface
  • ProductSettingsRepositoryInterface
  • ProductSettingsRepositoryReaderInterface
  • ProductSettingsRepositoryWriterInterface
  • ProductWriteServiceInterface
  • SerializerInterface
  • SharedShoppingCartDeleterInterface
  • SharedShoppingCartReaderInterface
  • SharedShoppingCartRepositoryInterface
  • SharedShoppingCartServiceInterface
  • SharedShoppingCartSettingsInterface
  • SharedShoppingCartWriterInterface
  • StatisticsServiceInterface
  • StoredCategoryInterface
  • StoredOrderItemAttributeInterface
  • StoredOrderItemInterface
  • StoredOrderTotalInterface
  • StoredProductAttributeInterface
  • StoredProductInterface
  • StringHelperInterface
  • UrlKeywordsRepairerInterface
  • UserConfigurationReaderInterface
  • UserConfigurationServiceInterface
  • UserConfigurationWriterInterface
  • VatNumberValidatorInterface

Exceptions

  • AjaxException
  • AttachmentNotFoundException
  • FileNotFoundException
  • HttpApiV2Exception
  • InvalidCustomerDataException
  • MissingControllerNameException
  • UnknownEnvironmentException
  1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90  91  92  93  94  95  96  97  98  99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 
<?php
/* --------------------------------------------------------------
    ShipcloudModuleCenterModuleController.inc.php 2016-06-07
    Gambio GmbH
    http://www.gambio.de
    Copyright (c) 2015 Gambio GmbH
    Released under the GNU General Public License (Version 2)
    [http://www.gnu.org/licenses/gpl-2.0.html]
    --------------------------------------------------------------
*/

/**
 * Controller for shipcloud configuration
 *
 * @extends    AbstractModuleCenterModuleController
 * @category   System
 * @package    Modules
 * @subpackage Controllers
 */
class ShipcloudModuleCenterModuleController extends AbstractModuleCenterModuleController
{
    /**
     * @var CI_DB_query_builder
     */
    protected $db;

    /**
     * @var ShipcloudText
     */
    protected $shipcloudText;

    /**
     * @var ShipcloudConfigurationStorage
     */
    protected $shipcloudConfigurationStorage;


    protected function _init()
    {
        $this->shipcloudText                 = MainFactory::create('ShipcloudText');
        $this->shipcloudConfigurationStorage = MainFactory::create('ShipcloudConfigurationStorage');
        $this->pageTitle                     = $this->shipcloudText->get_text('configuration_heading');
        $gxCoreLoader                        = MainFactory::create('GXCoreLoader',
                                                                   MainFactory::create('GXCoreLoaderSettings'));
        $this->db                            = $gxCoreLoader->getDatabaseQueryBuilder();
    }


    public function actionDefault()
    {
        $userConfigurationService = StaticGXCoreLoader::getService('UserConfiguration');
        $userId                   = new IdType((int)$_SESSION['customer_id']);

        if($this->shipcloudConfigurationStorage->get('mode') == 'sandbox')
        {
            $GLOBALS['messageStack']->add($this->shipcloudText->get_text('warning_sandbox'), 'warning');
        }

        $parcelServiceReader = MainFactory::create('ParcelServiceReader');
        $parcelServices      = $parcelServiceReader->getAllParcelServices();

        $formdata = array(
            'form_action' => xtc_href_link('admin.php', 'do=ShipcloudModuleCenterModule/SaveConfiguration'),
            'user_id'     => $userId,
            'collapsed'   => array(
                'credentials'   => $userConfigurationService->getUserConfiguration($userId, 'shipcloud_config_credentials_collapse'),
                'misc_settings' => $userConfigurationService->getUserConfiguration($userId, 'shipcloud_config_misc_settings_collapse'),
            ),
            'configuration' => array(
                'mode'                     => $this->shipcloudConfigurationStorage->get('mode'),
                'api_key_sandbox'          => $this->shipcloudConfigurationStorage->get('api-key/sandbox'),
                'api_key_live'             => $this->shipcloudConfigurationStorage->get('api-key/live'),
                'debug_logging'            => $this->shipcloudConfigurationStorage->get('debug_logging'),
                'from_company'             => $this->shipcloudConfigurationStorage->get('from/company'),
                'from_first_name'          => $this->shipcloudConfigurationStorage->get('from/first_name'),
                'from_last_name'           => $this->shipcloudConfigurationStorage->get('from/last_name'),
                'from_street'              => $this->shipcloudConfigurationStorage->get('from/street'),
                'from_street_no'           => $this->shipcloudConfigurationStorage->get('from/street_no'),
                'from_city'                => $this->shipcloudConfigurationStorage->get('from/city'),
                'from_zip_code'            => $this->shipcloudConfigurationStorage->get('from/zip_code'),
                'from_country'             => $this->shipcloudConfigurationStorage->get('from/country'),
                'from_phone'               => $this->shipcloudConfigurationStorage->get('from/phone'),
                'cod_bank_account_holder'  => $this->shipcloudConfigurationStorage->get('cod-account/bank_account_holder'),
                'cod_bank_name'            => $this->shipcloudConfigurationStorage->get('cod-account/bank_name'),
                'cod_bank_account_number'  => $this->shipcloudConfigurationStorage->get('cod-account/bank_account_number'),
                'cod_bank_code'            => $this->shipcloudConfigurationStorage->get('cod-account/bank_code'),
                'packages'                 => $this->shipcloudConfigurationStorage->get_all_tree('packages'),
                'parcel_service_id'        => $this->shipcloudConfigurationStorage->get('parcel_service_id'),
                'order_status_after_label' => $this->shipcloudConfigurationStorage->get('order_status_after_label'),
                'notify_customer'          => $this->shipcloudConfigurationStorage->get('notify_customer'),
            ),
            'boarding_url'         => $this->shipcloudConfigurationStorage->get('boarding_url'),
            'parcel_services'      => $parcelServices,
            'preselected_carriers' => $this->shipcloudConfigurationStorage->get_all_tree('preselected_carriers'),
            'checked_carriers'     => $this->shipcloudConfigurationStorage->get_all_tree('checked_carriers'),
            'orders_statuses'      => $this->getOrdersStatuses(),
            'tab_urls'             => array(
                'default'           => xtc_href_link('admin.php', 'do=ShipcloudModuleCenterModule'),
                'package_templates' => xtc_href_link('admin.php', 'do=ShipcloudModuleCenterModule/PackageTemplates'),
            ),
        );

        $carriersCache = MainFactory::create('ShipcloudCarriersCache');
        $formdata['carriers'] = $carriersCache->getCarriers();

        $this->contentView->set_template_dir(DIR_FS_ADMIN . 'html/content/module_center/');
        $html = $this->_render('shipcloud_configuration.html', $formdata);
        $html = $this->shipcloudText->replaceLanguagePlaceholders($html);

        return MainFactory::create('AdminPageHttpControllerResponse', $this->shipcloudText->get_text('configuration_heading'), $html);
    }


    /**
     * Displays package templates configuration
     * @return AdminPageHttpControllerResponse
     */
    public function actionPackageTemplates()
    {
        $packages         = $this->shipcloudConfigurationStorage->get_all_tree('packages');
        $configurationBox = $this->_getConfigurationBox();

        $formdata = array(
            'configuration'     => array(
                'packages'        => $packages,
                'default_package' => $this->shipcloudConfigurationStorage->get('default_package'),
            ),
            'tab_urls'          => array(
                'default'           => xtc_href_link('admin.php', 'do=ShipcloudModuleCenterModule'),
                'package_templates' => xtc_href_link('admin.php', 'do=ShipcloudModuleCenterModule/PackageTemplates'),
            ),
            'configuration_box' => $configurationBox
        );

        $this->contentView->set_template_dir(DIR_FS_ADMIN . 'html/content/module_center/');
        $html = $this->_render('shipcloud_configuration_package_templates.html', $formdata);
        $html = $this->shipcloudText->replaceLanguagePlaceholders($html);

        return MainFactory::create('AdminPageHttpControllerResponse', $this->shipcloudText->get_text('configuration_heading'), $html);
    }


    /**
     * Returns HTML for package template ConfigurationBox
     * @return string
     */
    protected function _getConfigurationBox()
    {
        $heading = '';
        $this->contentView->set_template_dir(DIR_FS_ADMIN . 'html/content/module_center/');
        $contents       = $this->_render('shipcloud_package_template_configuration_box.html', array());
        $formAttributes = array();
        $buttons        = '<div class="button-set detail-buttons"><button class="btn delete-package-template" onClick="this.blur(); return false;">'
                          . BUTTON_DELETE . '</button>'
                          . '<button class="btn btn-primary edit-package-template" onClick="this.blur(); return false;">'
                          . BUTTON_EDIT . '</button></div>'
                          . '<div class="button-set form-data-buttons hidden"><button class="btn btn-cancel cancel-package-template" onClick="this.blur(); return false;">'
                          . BUTTON_CANCEL . '</button>' . '<button class="btn btn-primary save-package-template">'
                          . BUTTON_SAVE . '</button></div>'
                          . '<div class="button-set create-form-data-buttons hidden"><button class="btn btn-primary save-package-template">'
                          . BUTTON_SAVE . '</button></div>'
                          . '<div class="button-set confirm-delete-buttons hidden"><button class="btn btn-primary confirm-delete-package-template">'
                          . BUTTON_DELETE . '</button>'
                          . '<button class="btn btn-cancel cancel-package-template" onClick="this.blur(); return false;">'
                          . BUTTON_CANCEL . '</button></div>';
        $formIsEditable = '';
        $formAction     = xtc_href_link('admin.php', 'do=ShipcloudModuleCenterModule/SavePackageTemplates');

        $configurationBoxContentView = MainFactory::create_object('ConfigurationBoxContentView');
        $configurationBoxContentView->set_content_data('heading', $heading);
        $configurationBoxContentView->set_content_data('form', $contents);
        $configurationBoxContentView->setFormAttributes($formAttributes);
        $configurationBoxContentView->set_content_data('buttons', $buttons);
        $configurationBoxContentView->setFormEditable($formIsEditable);
        $configurationBoxContentView->setFormAction($formAction);
        $configurationBox = $configurationBoxContentView->get_html();

        return $configurationBox;
    }


    /**
     * Returns configuration of a package template as identified by the templateId GET parameter
     * @return JsonHttpControllerResponse
     */
    public function actionGetPackageTemplate()
    {
        $templateId                    = (int)$this->_getQueryParameter('templateId');
        $packageTemplate               = $this->_getPackageTemplateData($templateId);
        $packageTemplate['is_default'] = $templateId == $this->shipcloudConfigurationStorage->get('default_package');

        return MainFactory::create('JsonHttpControllerResponse', $packageTemplate);
    }


    /**
     * Deletes a package template as identified by the templateId GET parameter and redirects back to package template configuration
     * @return RedirectHttpControllerResponse
     */
    public function actionDeletePackageTemplate()
    {
        $templateId = (int)$this->_getQueryParameter('templateId');
        $this->shipcloudConfigurationStorage->delete_all('packages/' . $templateId);

        return MainFactory::create('RedirectHttpControllerResponse', xtc_href_link('admin.php',
                                                                'do=ShipcloudModuleCenterModule/PackageTemplates'));;
    }


    /**
     * Returns template configuration
     * @param  int
     * @return array
     */
    protected function _getPackageTemplateData($templateId)
    {
        return $this->shipcloudConfigurationStorage->get_all('packages/' . $templateId);
    }


    /**
     * Retrieves a array of order statuses (ids and names as per current session language)
     * @return array
     */
    protected function getOrdersStatuses()
    {
        $this->db->where(array('language_id' => $_SESSION['languages_id']));
        $this->db->order_by('orders_status_name ASC');
        $orders_statuses_query = $this->db->get('orders_status');
        $orders_statuses       = $orders_statuses_query->result();

        return $orders_statuses;
    }


    /**
     * saves package template configuration
     * @return RedirectHttpControllerResponse
     */
    public function actionSavePackageTemplates()
    {
        $package = $this->_getPostData('package');
        if(empty($package['id']))
        {
            $package['id'] = $this->shipcloudConfigurationStorage->getMaximumPackageTemplateId() + 1;
        }
        $this->shipcloudConfigurationStorage->set('packages/' . (int)$package['id'] . '/name', $package['name']);
        $this->shipcloudConfigurationStorage->set('packages/' . (int)$package['id'] . '/weight', $package['weight']);
        $this->shipcloudConfigurationStorage->set('packages/' . (int)$package['id'] . '/length', $package['length']);
        $this->shipcloudConfigurationStorage->set('packages/' . (int)$package['id'] . '/width', $package['width']);
        $this->shipcloudConfigurationStorage->set('packages/' . (int)$package['id'] . '/height', $package['height']);

        $defaultPackageTemplate = $this->_getPostData('default_template');
        if($defaultPackageTemplate !== null)
        {
            $this->shipcloudConfigurationStorage->set('default_package', (int)$defaultPackageTemplate);
        }

        return MainFactory::create('RedirectHttpControllerResponse', xtc_href_link('admin.php',
                                                                'do=ShipcloudModuleCenterModule/PackageTemplates'));
    }


    /**
     * saves configuration values
     * @return RedirectHttpControllerResponse
     */
    public function actionSaveConfiguration()
    {
        $newConfiguration = $this->_getPostData('configuration');
        foreach($newConfiguration as $key => $value)
        {
            $this->shipcloudConfigurationStorage->set($key, $value);
        }
        $preselectionCarriers = $this->_getPostData('preselected_carriers') ?: [];
        $checkedCarriers      = $this->_getPostData('checked_carriers') ?: [];
        $carriers             = $this->shipcloudConfigurationStorage->getCarriers();
        foreach($carriers as $carrier)
        {
            $carrier_selected = in_array($carrier, $preselectionCarriers);
            $this->shipcloudConfigurationStorage->set('preselected_carriers/' . $carrier,
                                                      $carrier_selected ? '1' : '0');
            $carrier_checked = in_array($carrier, $checkedCarriers);
            $this->shipcloudConfigurationStorage->set('checked_carriers/' . $carrier, $carrier_checked ? '1' : '0');
        }
        $GLOBALS['messageStack']->add_session($this->shipcloudText->get_text('configuration_saved'), 'info');

        return MainFactory::create('RedirectHttpControllerResponse', xtc_href_link('admin.php', 'do=ShipcloudModuleCenterModule'));
    }
}
API documentation generated by ApiGen