Esempio n. 1
0
 public function renderMenu()
 {
     $goods = new DBGoodsType();
     $goods->executeRequest(DB::TABLE_NAV_KEY___NAME, '', '', DB::TABLE_NAV_KEY__VALUE);
     echo "<div>";
     while ($row = mysql_fetch_array($goods->getResponse())) {
         self::renderMenuItem($row['key'], $row['value']);
     }
     echo "</div>";
 }
Esempio n. 2
0
 public function getItemSearchData($pageNumber, $num, $valueToSearch)
 {
     $goods = new DBGoodsType();
     $keyMas = array();
     $valueMas = array();
     array_push($keyMas, DB::TABLE_GOODS__NAME);
     array_push($keyMas, DB::TABLE_GOODS__DESCRIPTION);
     array_push($valueMas, "(" . mb_convert_case($valueToSearch, MB_CASE_LOWER, "utf-8") . ")+");
     array_push($valueMas, "(" . mb_convert_case($valueToSearch, MB_CASE_LOWER, "utf-8") . ")+");
     $limitBegin = ($pageNumber - 1) * $num;
     $limitNum = $num;
     if ($this->isAdminOrderEnabled()) {
         $goods->getUserSortedForSearch($keyMas, $valueMas, $limitBegin, $limitNum);
     } else {
         $goods->executeRequestRegExpArrayWithLimit($keyMas, $valueMas, DB::TABLE_GOODS___ORDER, DB::ASC, $limitBegin, $limitNum);
     }
     $this->data = $goods->getResponse();
     $this->dataCount = $goods->getResponseSize();
     $goods->getGoodsSearchCount($keyMas, $valueMas);
     $this->dataTotalCount = $goods->getTotalCount();
 }
Esempio n. 3
0
 protected function createGeneralContent()
 {
     $mainTag = new Div();
     $goods = new DBGoodsType();
     $itemId = Utils::getFromGET("page_id");
     $goods->executeRequest(DB::TABLE_GOODS__KEY_ITEM, $itemId, DB::TABLE_GOODS___ORDER, DB::ASC);
     $response = $goods->getResponse();
     $mainTag->addStyleClasses(["single_item"]);
     $row = mysql_fetch_array($response);
     if ($row) {
         $imagePathes = FileUtils::getFilesByPrefixByDescription(Constants::DEFAULT_ROOT_CATALOG_PATH . DIRECTORY_SEPARATOR . $itemId . DIRECTORY_SEPARATOR, Constants::SMALL_IMAGE, 'jpg');
         $filesSmall = FileUtils::getFilesByPrefixByDescription(Constants::DEFAULT_ROOT_CATALOG_PATH . DIRECTORY_SEPARATOR . $itemId . DIRECTORY_SEPARATOR, Constants::SMALL_IMAGE, "jpg");
         $filesMedium = FileUtils::getFilesByPrefixByDescription(Constants::DEFAULT_ROOT_CATALOG_PATH . DIRECTORY_SEPARATOR . $itemId . DIRECTORY_SEPARATOR, Constants::MEDIUM_IMAGE, "jpg");
         $firstImage = FileUtils::getFirstFileInDirectoryByPrefixByDescription(Constants::DEFAULT_ROOT_CATALOG_PATH . DIRECTORY_SEPARATOR . $itemId . DIRECTORY_SEPARATOR, Constants::MEDIUM_IMAGE, 'jpg');
         if ($firstImage == '') {
             $firstImage = FileUtils::getCapImage(Labels::CAP_IMAGE_FOR_CLOTHING);
         }
         sort($imagePathes);
         sort($filesSmall);
         sort($filesMedium);
         $defaultBackgroundImage = $this->getFirstImage($itemId, Constants::MEDIUM_IMAGE);
         $titleBlock = new Strong();
         $titleBlock->addStyleClasses(["title", "f-30"]);
         $titleBlock->addChild($row[DB::TABLE_GOODS__NAME]);
         $this->updateTitleTagChildren([$row[DB::TABLE_GOODS__NAME] . ' - ']);
         $metaDesc = new Meta();
         $metaDesc->addAttributes(["name" => "description", "content" => "на этой странице Вы найдете подробное описание для товара " . $row[DB::TABLE_GOODS__NAME] . ", а также сможете пролистать фотографии и просмотреть их увеличенную версию"]);
         $this->addMetaTags($metaDesc);
         $infoBlock = new Div();
         $infoBlock->addStyleClass("info");
         $leftBlock = new Div();
         $leftBlock->addStyleClasses(["left_block"]);
         $bigImg = new Div();
         $bigImg->addStyleClasses(["big_img", "float_left"]);
         $bigImg->addAttribute("style", "background-image: url({$defaultBackgroundImage});filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='{$defaultBackgroundImage}',sizingMethod='scale');-ms-filter: \"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='{$defaultBackgroundImage}',sizingMethod='scale')\";");
         $square = new Div();
         $square->addStyleClass("squareX");
         $zoom = new Div();
         $zoom->addStyleClass("zoom_image");
         $zoom->addAttribute("style", "background-image: url(.{$defaultBackgroundImage}.)");
         $img1 = new Img();
         $img1->addAttribute("src", $firstImage);
         $img1->updateId("main_gallery_image");
         $img2 = new Img();
         $img2->addAttribute("src", $firstImage);
         $img2->updateId("img_effect");
         $square->addChildList([$zoom, $img1, $img2]);
         $square->addChildList($this->getImageSwitcher());
         $leftBlock->addChildList([$square, $this->getPreviewImages($filesMedium, Constants::MEDIUM_IMAGE . "images", false)]);
         $rightBlock = new Div();
         $rightBlock->addStyleClasses(["right_block"]);
         $overviewImgs = $this->getPreviewImages($filesSmall, Constants::SMALL_IMAGE . "images", true);
         $overviewImgs->updateId("gallery");
         $overviewImgs->addStyleClass("w-100p");
         $rightBlock->addChildList([$overviewImgs]);
         $index = 0;
         $imgList = new Div();
         $imgList->addStyleClass("scroll_child");
         /*foreach($imagePathes as $imagePath) {
               if (count(trim($imagePath)) != 0) {
                   $index++;
                   $activeImg = '';
                   $cursor = 'review';
                   if ($index == 1) {
                       $active = 'preview_image_current_border';
                       $activeImg = 'img_to_front';
                   } else {
                       $active = "preview_image_hover_border";
                       $cursor = 'cursor_pointer';
                   }
                   $imgItem = new Div();
                   $imgItem->addStyleClasses(["image_item", "float_left", $cursor]);
                   $zoomWindowContainer = new Div();
                   $zoomWindowContainer->addStyleClass("zoom_window_container");
                   $zoomWindow = new Div();
                   $zoomWindow->addStyleClass("zoom_window");
                   $zoomWindowContainer->addChild($zoomWindow);
                   $previewImgBorder = new Div();
                   $previewImgBorder->addStyleClasses("preview_image_border", $active);
                   $previewImage = new Img();
                   $previewImage->addAttribute("src", $imagePath);
                   $previewImage->addStyleClasses(["preview_image", $activeImg]);
                   $imgItem->addChildList([$zoomWindowContainer, $previewImgBorder, $previewImage]);
               }
           }*/
     }
     $description = $this->getImageDescription($row[DB::TABLE_GOODS__DESCRIPTION]);
     return $mainTag->addChildList([$titleBlock, $infoBlock->addChildList([$leftBlock, $rightBlock, $description])]);
 }
Esempio n. 4
0
 public static function getItemLinkForSimpleType($itemId)
 {
     $url = '';
     if (preg_match('/^([\\w]{2}){1}([\\d]{0,3}){1}$/', $itemId, $itemInfo, PREG_OFFSET_CAPTURE) == 1) {
         $goods = new DBGoodsType();
         $itemPosition = $goods->getCatalogItemPosition($itemId, DB::TABLE_GOODS___ORDER);
         $page = ceil($itemPosition / Utils::getFromGETWithDefault(UrlParameters::NUM, Constants::DEFAULT_ITEM_COUNT_PER_PAGE));
         $keyValuePairs = array(UrlParameters::PAGE_NAME => UrlParameters::PAGE__CATALOG, UrlParameters::KEY => $itemInfo[1][0], UrlParameters::PAGE_NUM => $page, UrlParameters::ITEMS_COUNT => Utils::getFromGETWithDefault(UrlParameters::NUM, Constants::DEFAULT_ITEM_COUNT_PER_PAGE), UrlParameters::HIGH_LIGHT_ELEMENT => $itemId);
         $url = '?' . Utils::getUrlWithStoreMode(Utils::buildUrl($keyValuePairs));
     }
     return $url;
 }
Esempio n. 5
0
 private function getCatalogItems()
 {
     $dbGoods = new DBGoodsType();
     $catalogLoader = new CatalogLoader();
     $catalogLoader->getItemsMainData(1, 8);
     $goods = $dbGoods->extractDataFromResponse($catalogLoader->data, DB::TABLE_GOODS___MAPPER);
     $goodIndex = 0;
     $slideShowContainer = new Div();
     $slideShowContainer->addStyleClass("main_page_items_slideshow");
     $slideShow = new Div();
     $slideShow->addStyleClasses(["slide_show", "catalog_items"]);
     $div02 = new Div();
     $div02->addAttribute("style", "overflow: hidden;");
     while ($goodIndex < count($goods)) {
         $div02->addChild($this->renderGalleryItemWithSingleItem($goods[$goodIndex]));
         $goodIndex++;
     }
     $slideShowContainer->addChildren($slideShow->addChildren($div02));
     return [$this->getCatalogItemsTitle(), $slideShowContainer];
 }
Esempio n. 6
0
 public static function getGoodsOrder()
 {
     $dbGoods = new DBGoodsType();
     $data = $dbGoods->getAdminSortedForCommon(0, PHP_INT_MAX);
     Log::db("getGoodsOrder ");
     $mappings = [DB::TABLE_GOODS__ID => DB::TABLE_GOODS__ID, DB::TABLE_GOODS__KEY_ITEM => DB::TABLE_GOODS__KEY_ITEM, DB::TABLE_GOODS__NAME => DB::TABLE_GOODS__NAME, DB::TABLE_USER_ORDER__GOOD_ID => DB::TABLE_USER_ORDER__GOOD_ID, DB::TABLE_USER_ORDER__GOOD_INDEX => DB::TABLE_USER_ORDER__GOOD_INDEX];
     $goods = $dbGoods->extractDataFromResponse($data, $mappings);
     return self::mergeImagesToGoods($goods);
 }