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; }
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']; }
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(); } } }