Exemple #1
0
 public function getLayoutBoxContentTypeOptions($Data = array())
 {
     $boxData = array('TextBox' => _('TXT_TEXT_BOX'), 'ProductPromotionsBox' => _('TXT_PRODUCT_PROMOTIONS_BOX'), 'ProductNewsBox' => _('TXT_PRODUCT_NEWS_BOX'), 'GraphicsBox' => _('TXT_GRAPHICS_BOX'), 'CategoriesBox' => _('TXT_CATEGORIES_BOX'), 'NewsBox' => _('TXT_NEWS'), 'ProductsInCategoryBox' => _('TXT_PRODUCTS_IN_CATEGORY_BOX'), 'ProductsCrossSellBox' => _('TXT_PRODUCTS_CROSS_SELL_BOX'), 'ProductsSimilarBox' => _('TXT_PRODUCTS_SIMILAR_BOX'), 'ProductsUpSellBox' => _('TXT_PRODUCTS_UP_SELL_BOX'), 'ProductBox' => _('TXT_PRODUCT_BOX'), 'ProductDescriptionBox' => _('TXT_PRODUCT_DESCRIPTION_BOX'), 'LayeredNavigationBox' => _('TXT_LAYERED_NAVIGATION_BOX'), 'ContactBox' => _('TXT_CONTACT_BOX'), 'ProductBestsellersBox' => _('TXT_PRODUCT_BESTSELLERS_BOX'), 'MostSearchedBox' => _('TXT_MOST_SEARCHED_BOX'), 'CartBox' => _('TXT_CART'), 'RegistrationCartBox' => _('TXT_REGISTRATION_BOX'), 'PaymentBox' => _('TXT_PAYMENT_BOX'), 'FinalizationBox' => _('TXT_FINALIZATION_BOX'), 'ClientLoginBox' => _('TXT_CLIENT_LOGIN_BOX'), 'ForgotPasswordBox' => _('TXT_FORGOT_PASSWORD_BOX'), 'ClientSettingsBox' => _('TXT_CLIENT_SETTINGS_BOX'), 'ClientOrderBox' => _('TXT_CLIENT_ORDER_BOX'), 'ClientAddressBox' => _('TXT_CLIENT_ADDRESS_BOX'), 'ProductSearchListBox' => _('TXT_PRODUCT_SEARCH_LIST_BOX'), 'CartPreviewBox' => _('TXT_CART_PREVIEW_BOX'), 'SearchBox' => _('TXT_SEARCH_BOX'), 'NewsletterBox' => _('TXT_NEWSLETTER_BOX'), 'CmsBox' => _('TXT_CMS_BOX'), 'ShowcaseBox' => _('TXT_SHOWCASE_BOX'), 'ProductBuyAlsoBox' => _('TXT_BUY_ALSO_BOX'), 'SitemapBox' => _('TXT_SITEMAP_BOX'), 'SlideShowBox' => _('TXT_SLIDESHOW_BOX'), 'ProducerBox' => _('TXT_PRODUCER_BOX'), 'ProducerListBox' => _('TXT_PRODUCER_LIST_BOX'), 'MainCategoriesBox' => _('TXT_MAIN_CATEGORIES_BOX'), 'CustomProductListBox' => _('TXT_CUSTOM_PRODUCT_LIST_BOX'), 'ClientAccountBox' => _('TXT_CLIENT_ACCOUNT_BOX'), 'CheckoutBox' => _('TXT_CHECKOUT_BOX'), 'ConditionsBox' => _('TXT_CONDITIONS'), 'CmsMenuBox' => _('TXT_CMS_MENU_BOX'));
     $eventData = Event::filter($this, 'admin.layoutbox.getLayoutBoxContentTypeOptions', array('form' => &$form), $this->registry->core->getParam());
     foreach ($eventData as $Data) {
         $boxData = Arr::merge($boxData, $Data);
     }
     return $boxData;
 }
Exemple #2
0
 public static function dispatch($object, $eventName, $values = array())
 {
     if (!is_object(self::$dispatcher) || !self::$dispatcher instanceof sfEventDispatcher) {
         self::register();
     }
     $event = new sfEvent($object, $eventName, $values);
     self::$dispatcher->filter($event, $values);
     $eventData = $event->getReturnValues();
     if (!is_array(@$values['data'])) {
         $values['data'] = array();
     }
     foreach ($eventData as $Data) {
         $values['data'] = Arr::merge($values['data'], $Data);
     }
     return $values['data'];
 }
Exemple #3
0
    protected function updateLayoutBoxContentTypeSpecificValues($idLayoutBox, $submittedData)
    {
        $this->deleteLayoutBoxContentTypeSpecificValues($idLayoutBox);
        $variables = array();
        switch ($submittedData['box']['box_content']) {
            case 'TextBox':
                $content = array();
                foreach ($submittedData['ct_TextBox']['textbox_content_translation'] as $languageid => $value) {
                    $content[$languageid] = $value['textbox_content'];
                }
                $variables['content'] = $content;
                break;
            case 'GraphicsBox':
                $variables['image'] = 'design/_images_frontend/upload/' . $submittedData['ct_GraphicsBox']['image']['file'];
                $size = getimagesize(ROOTPATH . $variables['image']);
                $variables['height'] = $size[1] - 10;
                $variables['align'] = $submittedData['ct_GraphicsBox']['align'];
                $variables['url'] = $submittedData['ct_GraphicsBox']['url'];
                break;
            case 'ProductDescriptionBox':
                $variables['tabbed'] = isset($submittedData['ct_ProductDescriptionBox']['tabbed']) && $submittedData['ct_ProductDescriptionBox']['tabbed'] ? '1' : '0';
                break;
            case 'ProductsInCategoryBox':
                $variables['productsCount'] = $submittedData['ct_ProductsInCategoryBox']['productsCount'];
                $variables['view'] = $submittedData['ct_ProductsInCategoryBox']['view'];
                // $variables['orderBy'] =
                // $submittedData['ct_ProductsInCategoryBox']['orderBy'];
                // $variables['orderDir'] =
                // $submittedData['ct_ProductsInCategoryBox']['orderDir'];
                $variables['pagination'] = isset($submittedData['ct_ProductsInCategoryBox']['pagination']) && $submittedData['ct_ProductsInCategoryBox']['pagination'] ? '1' : '0';
                break;
            case 'ProductSearchListBox':
                $variables['productsCount'] = $submittedData['ct_ProductSearchListBox']['productsCount'];
                $variables['view'] = $submittedData['ct_ProductSearchListBox']['view'];
                $variables['orderBy'] = $submittedData['ct_ProductSearchListBox']['orderBy'];
                $variables['orderDir'] = $submittedData['ct_ProductSearchListBox']['orderDir'];
                $variables['pagination'] = isset($submittedData['ct_ProductSearchListBox']['pagination']) && $submittedData['ct_ProductSearchListBox']['pagination'] ? '1' : '0';
                break;
            case 'ProductPromotionsBox':
                $variables['productsCount'] = $submittedData['ct_ProductPromotionsBox']['productsCount'];
                $variables['view'] = $submittedData['ct_ProductPromotionsBox']['view'];
                $variables['orderBy'] = $submittedData['ct_ProductPromotionsBox']['ct_ProductPromotionsBox_orderBy'];
                $variables['orderDir'] = $submittedData['ct_ProductPromotionsBox']['ct_ProductPromotionsBox_orderDir'];
                $variables['pagination'] = isset($submittedData['ct_ProductPromotionsBox']['pagination']) && $submittedData['ct_ProductPromotionsBox']['pagination'] ? '1' : '0';
                break;
            case 'ProductNewsBox':
                $variables['productsCount'] = $submittedData['ct_ProductNewsBox']['productsCount'];
                $variables['view'] = $submittedData['ct_ProductNewsBox']['view'];
                $variables['orderBy'] = $submittedData['ct_ProductNewsBox']['ct_ProductNewsBox_orderBy'];
                $variables['orderDir'] = $submittedData['ct_ProductNewsBox']['ct_ProductNewsBox_orderDir'];
                $variables['pagination'] = isset($submittedData['ct_ProductNewsBox']['pagination']) && $submittedData['ct_ProductNewsBox']['pagination'] ? '1' : '0';
                break;
            case 'ProductsCrossSellBox':
                $variables['productsCount'] = $submittedData['ct_ProductsCrossSellBox']['productsCount'];
                $variables['view'] = $submittedData['ct_ProductsCrossSellBox']['view'];
                $variables['orderBy'] = $submittedData['ct_ProductsCrossSellBox']['ct_ProductsCrossSellBox_orderBy'];
                $variables['orderDir'] = $submittedData['ct_ProductsCrossSellBox']['ct_ProductsCrossSellBox_orderDir'];
                break;
            case 'ProductsSimilarBox':
                $variables['productsCount'] = $submittedData['ct_ProductsSimilarBox']['productsCount'];
                $variables['view'] = $submittedData['ct_ProductsSimilarBox']['view'];
                $variables['orderBy'] = $submittedData['ct_ProductsSimilarBox']['ct_ProductsSimilarBox_orderBy'];
                $variables['orderDir'] = $submittedData['ct_ProductsSimilarBox']['ct_ProductsSimilarBox_orderDir'];
                break;
            case 'ProductsUpSellBox':
                $variables['productsCount'] = $submittedData['ct_ProductsUpSellBox']['productsCount'];
                $variables['view'] = $submittedData['ct_ProductsUpSellBox']['view'];
                $variables['orderBy'] = $submittedData['ct_ProductsUpSellBox']['ct_ProductsUpSellBox_orderBy'];
                $variables['orderDir'] = $submittedData['ct_ProductsUpSellBox']['ct_ProductsUpSellBox_orderDir'];
                break;
            case 'CategoriesBox':
                App::getModel('category')->flushCache();
                $variables['showcount'] = isset($submittedData['ct_CategoriesBox']['showcount']) && $submittedData['ct_CategoriesBox']['showcount'] ? '1' : '0';
                $variables['hideempty'] = isset($submittedData['ct_CategoriesBox']['hideempty']) && $submittedData['ct_CategoriesBox']['hideempty'] ? '1' : '0';
                $variables['showall'] = isset($submittedData['ct_CategoriesBox']['showall']) ? $submittedData['ct_CategoriesBox']['showall'] : 1;
                $variables['categoryIds'] = isset($submittedData['ct_CategoriesBox']['categoryIds']) && is_array($submittedData['ct_CategoriesBox']['categoryIds']) && count($submittedData['ct_CategoriesBox']['categoryIds']) > 0 ? implode(',', $submittedData['ct_CategoriesBox']['categoryIds']) : '';
                break;
            case 'MainCategoriesBox':
                $variables['showall'] = isset($submittedData['ct_MainCategoriesBox']['showall']) ? $submittedData['ct_MainCategoriesBox']['showall'] : 1;
                $variables['categoryIds'] = isset($submittedData['ct_MainCategoriesBox']['categoryIds']) && is_array($submittedData['ct_MainCategoriesBox']['categoryIds']) && count($submittedData['ct_MainCategoriesBox']['categoryIds']) > 0 ? implode(',', $submittedData['ct_MainCategoriesBox']['categoryIds']) : '';
                break;
            case 'ShowcaseBox':
                $variables['productsCount'] = $submittedData['ct_ShowcaseBox']['productsCount'];
                $variables['orderBy'] = $submittedData['ct_ShowcaseBox']['ct_ShowcaseBox_orderBy'];
                $variables['orderDir'] = $submittedData['ct_ShowcaseBox']['ct_ShowcaseBox_orderDir'];
                $variables['statusId'] = $submittedData['ct_ShowcaseBox']['statusId'];
                break;
            case 'ProductBestsellersBox':
                $variables['productsCount'] = $submittedData['ct_ProductBestsellersBox']['productsCount'];
                $variables['minProductsCount'] = $submittedData['ct_ProductBestsellersBox']['minProductsCount'];
                $variables['view'] = $submittedData['ct_ProductBestsellersBox']['view'];
                $variables['orderBy'] = $submittedData['ct_ProductBestsellersBox']['ct_ProductBestsellersBox_orderBy'];
                $variables['orderDir'] = $submittedData['ct_ProductBestsellersBox']['ct_ProductBestsellersBox_orderDir'];
                break;
            case 'CustomProductListBox':
                $variables['productsCount'] = $submittedData['ct_CustomProductListBox']['productsCount'];
                $variables['view'] = $submittedData['ct_CustomProductListBox']['view'];
                $variables['orderBy'] = $submittedData['ct_CustomProductListBox']['ct_CustomProductListBox_orderBy'];
                $variables['orderDir'] = $submittedData['ct_CustomProductListBox']['ct_CustomProductListBox_orderDir'];
                $variables['products'] = isset($submittedData['ct_CustomProductListBox']['custom_products']) ? implode(',', $submittedData['ct_CustomProductListBox']['custom_products']) : '';
                break;
            case 'SitemapBox':
                $variables['categoryTreeLevels'] = $submittedData['ct_SitemapBox']['categoryTreeLevels'];
                break;
            case 'SlideShowBox':
                for ($i = 1; $i <= 10; $i++) {
                    if ($submittedData['ct_SlideShowBox']['image' . $i]['file'] != '') {
                        $variables['image' . $i] = 'design/_images_frontend/upload/' . $submittedData['ct_SlideShowBox']['image' . $i]['file'];
                        $size = getimagesize(ROOTPATH . $variables['image' . $i]);
                        $variables['height' . $i] = $size[1];
                        $variables['url' . $i] = $submittedData['ct_SlideShowBox']['url' . $i];
                        $variables['caption' . $i] = $submittedData['ct_SlideShowBox']['caption' . $i];
                    }
                }
                break;
            case 'ProducerBox':
                $variables['view'] = $submittedData['ct_ProducerBox']['view'];
                $variables['producers'] = isset($submittedData['ct_ProducerBox']['producers']) ? implode(',', $submittedData['ct_ProducerBox']['producers']) : '';
                break;
            case 'ProducerListBox':
                $variables['productsCount'] = $submittedData['ct_ProducerListBox']['productsCount'];
                $variables['view'] = $submittedData['ct_ProducerListBox']['view'];
                $variables['pagination'] = isset($submittedData['ct_ProducerListBox']['pagination']) && $submittedData['ct_ProducerListBox']['pagination'] ? '1' : '0';
                break;
        }
        $eventData = Event::filter($this, 'admin.layoutbox.updateLayoutBoxContentTypeSpecificValues', array('variables' => $variables, 'submittedData' => $submittedData));
        foreach ($eventData as $Data) {
            $variables = \Gekosale\Arr::merge($variables, $Data);
        }
        foreach ($variables as $variable => $value) {
            if (is_array($value)) {
                foreach ($value as $languageid => $translatedValue) {
                    $sql = '
							INSERT
							INTO
								layoutboxcontentspecificvalue (
									layoutboxid,
									variable,
									value,
									languageid
								)
							VALUES (
								:id,
								:variable,
								:value,
								:languageid
							)
						';
                    $stmt = Db::getInstance()->prepare($sql);
                    $stmt->bindValue('id', $idLayoutBox);
                    $stmt->bindValue('variable', $variable);
                    $stmt->bindValue('value', $translatedValue);
                    $stmt->bindValue('languageid', $languageid);
                    $stmt->execute();
                }
            } else {
                $sql = '
						INSERT
						INTO
							layoutboxcontentspecificvalue (
								layoutboxid,
								variable,
								value
							)
						VALUES (
							:id,
							:variable,
							:value
						)
					';
                $stmt = Db::getInstance()->prepare($sql);
                $stmt->bindValue('id', $idLayoutBox);
                $stmt->bindValue('variable', $variable);
                $stmt->bindValue('value', $value);
                $stmt->execute();
            }
        }
    }