Пример #1
0
 public function get3Dots()
 {
     $mainTag = new Div();
     $mainTag->addStyleClasses(["three_dots_style", "f-15"]);
     $mainTag->addChild("...");
     return $mainTag;
 }
Пример #2
0
 private function getMap()
 {
     $mainTag = new Div();
     $mainTag->addStyleClass("map_viewport");
     $map = new Div();
     $map->updateId("google_map");
     return $mainTag->addChild($map);
 }
Пример #3
0
 public function getItemsTable($pageNumber, $num, $response, $key, $valueToSearch)
 {
     $mainTag = new Div();
     $tdNum = 3;
     $tdNumTotal = $tdNum * 2 - 1;
     $indOnPage = 0;
     $items = 0;
     $td = 0;
     $item = new Item();
     $rowIndex = 1;
     $tdHeight = Utils::isSquareViewMode() ? 300 : 30;
     $highLightId = Utils::getFromGET(UrlParameters::HIGH_LIGHT_ELEMENT);
     $isMetro = array_key_exists(UrlParameters::VIEW_MODE, $_GET) && Utils::getFromGET(UrlParameters::VIEW_MODE) == "metro" || !array_key_exists(UrlParameters::VIEW_MODE, $_GET);
     $isCompact = array_key_exists(UrlParameters::VIEW_MODE, $_GET) && Utils::getFromGET(UrlParameters::VIEW_MODE) == "compact";
     $isExtend = array_key_exists(UrlParameters::VIEW_MODE, $_GET) && Utils::getFromGET(UrlParameters::VIEW_MODE) == "extend";
     $isList = array_key_exists(UrlParameters::VIEW_MODE, $_GET) && Utils::getFromGET(UrlParameters::VIEW_MODE) == "list";
     $rowViewClass = $isCompact ? 'compact' : ($isMetro ? "metro" : ($isExtend ? "extend" : ($isList ? "list" : "list")));
     if ($response != 0) {
         $mainTag->addStyleClass("items_table");
         $rowView = new Div();
         $mainTag->addChild($rowView);
         while ($row = mysql_fetch_array($response)) {
             $items++;
             $indOnPage++;
             $td++;
             if (ceil(fmod($indOnPage, $tdNum)) == 1) {
                 $rowIndex++;
                 $indOnPage = 1;
                 $td = 1;
             } elseif (Utils::isEven($td)) {
                 $td++;
             }
             $rowView->addStyleClass($rowViewClass);
             $cellView = new Div();
             $rowView->addChild($cellView);
             $keyItem = $row["key_item"];
             $images = FileUtils::getFilesByPrefixByDescription(Constants::DEFAULT_ROOT_CATALOG_PATH . DIRECTORY_SEPARATOR . $keyItem . DIRECTORY_SEPARATOR, Constants::MEDIUM_IMAGE, 'jpg');
             if (count($images) == 0) {
                 $capImage = FileUtils::getCapImage(Labels::CAP_IMAGE_FOR_CLOTHING);
                 $images = [$capImage];
             }
             $item = null;
             if ($isMetro) {
                 $item = Item::getMetroItemView($row["name"], $images, $row["key_item"], $pageNumber, $num, $key, $valueToSearch, $row['god_type'], Utils::formatClotheTitle($row["name"]), $highLightId == $row["key_item"]);
             } elseif ($isCompact) {
                 //$name, $images, $itemId, $pageNumber, $num, $key, $valueToSearch, $type, $trimName, $isHighLightElement
                 $item = Item::getCompactItemView($row["name"], $images, $row["key_item"], $pageNumber, $num, $key, $valueToSearch, $row['god_type'], Utils::formatClotheTitle($row["name"]), $highLightId == $row["key_item"]);
             } elseif ($isExtend) {
                 $item = Item::getSquareItemView($row["name"], $images, $row["key_item"], $pageNumber, $num, $key, $valueToSearch, $row['god_type'], Utils::formatClotheTitle($row["name"]));
             } elseif ($isList) {
                 $item = Item::getLineItemView($row["name"], $images, $row["key_item"], $pageNumber, $num, $key, $valueToSearch, $row['god_type'], Utils::trimFormatClotheTitle($row["name"]), $highLightId == $row["key_item"]);
             }
             $cellView->addChild($item);
             $cellView->addStyleClass("catalog_good_item");
         }
     }
     return $mainTag;
 }
Пример #4
0
 public function getPaginationLinks($pageNumber, $num, $totalCount, $topBottom)
 {
     $mainTag = new Div();
     $catalogLink = new CatalogLink();
     $dots = false;
     $topBottomStyle = $topBottom == 'bottom' ? 'link_next_prev_bottom' : '';
     if ($totalCount != 0) {
         $amountPages = ceil($totalCount / $num);
         if ($pageNumber > 0 && $pageNumber <= $amountPages) {
             $mainTag->addStyleClasses(["pagination_bar", "right_top_bar", $topBottomStyle]);
             $brokerTag = new Div();
             $mainTag->addChild($brokerTag);
             $tagCenterContainer = new Span();
             if ($pageNumber != 1) {
                 $tagPrevious = new A();
                 $tagPrevious->addStyleClasses(["f-16", "text_non_select", "link_style", "link_next_prev", "input_hover", "prev_link"]);
                 $tagPrevious->addAttribute("href", URLBuilder::getCatalogLinkPrev($pageNumber, $num));
                 $text = new Div();
                 $text->addStyleClass("text");
                 $text->addChild("назад");
                 $arrow = new Div();
                 $arrow->addStyleClass("arrow");
                 $tagCenterContainer->addChild($tagPrevious->addChildList([$arrow, $text]));
             }
             $brokerTag->addChild($tagCenterContainer);
             $tagCenterContainer->addStyleClasses(["numeric_links", "f-15"]);
             for ($currentRenderPage = 1; $currentRenderPage <= $amountPages; $currentRenderPage++) {
                 if ($currentRenderPage < 2 || $currentRenderPage > $pageNumber - $this->linksGroupCount && $currentRenderPage < $pageNumber + $this->linksGroupCount || $currentRenderPage > $amountPages - 1) {
                     $dots = false;
                     if ($currentRenderPage != $pageNumber) {
                         $tagCenterContainer->addChild($catalogLink->getLink($currentRenderPage, $num));
                     } else {
                         $emptyLinkView = $catalogLink->getEmptyLink($pageNumber);
                         $emptyLinkView->addStyleClass("f-16");
                         $tagCenterContainer->addChild($emptyLinkView);
                     }
                 } else {
                     if (!$dots) {
                         $dots = true;
                         $tagCenterContainer->addChild($catalogLink->get3dots());
                     }
                 }
             }
             if ($pageNumber != $amountPages) {
                 $tagNext = new A();
                 $tagNext->addStyleClasses(["f-16", "text_non_select", "link_style", "input_hover", "link_next_prev", "next_link"]);
                 $tagNext->addAttribute("href", URLBuilder::getCatalogLinkNext($pageNumber, $num));
                 $text = new Div();
                 $text->addStyleClass("text");
                 $text->addChild("вперед");
                 $arrow = new Div();
                 $arrow->addStyleClass("arrow");
                 $tagCenterContainer->addChild($tagNext->addChildList([$text, $arrow]));
             }
         }
     }
     return $mainTag;
 }
Пример #5
0
 private function createGeneralContentForEmptyResult($valueToSearch)
 {
     $mainTag = new Div();
     $mainTag->addStyleClass("empty_search_result");
     $emptySearchResultLabel = new Div();
     $emptySearchResultLabel->addStyleClasses(["empty_search_result_label", "f-16"]);
     $mainTag->addChild($emptySearchResultLabel->addChild(Labels::prefillMessage([$valueToSearch], Labels::EMPTY_SEARCH_RESULT)));
     TagUtils::createShadow($mainTag);
     return $mainTag;
 }
Пример #6
0
 protected function createGeneralContent()
 {
     $mainTag = new Div();
     $mainTag->addAttribute("style", "margin: 1px 0px 0px 3px;");
     $items = new Items();
     $catalogLinks = new CatalogLinks();
     if (array_key_exists(UrlParameters::PAGE_NAME, $_GET)) {
         $pageNumber = Constants::DEFAULT_PAGE_NUMBER;
         $itemsCount = Labels::VIEW_MODE_NUMERIC_DEF;
         if (array_key_exists(UrlParameters::PAGE_NUM, $_GET)) {
             $pageNumber = Utils::getFromGET(UrlParameters::PAGE_NUM);
         }
         if (array_key_exists(UrlParameters::ITEMS_COUNT, $_GET)) {
             $itemsCount = Utils::getFromGET(UrlParameters::ITEMS_COUNT);
         }
         if (array_key_exists(UrlParameters::SEARCH_VALUE, $_GET)) {
             $itemsType = new CatalogLoader();
             $searchValue = Utils::getFromGET(UrlParameters::SEARCH_VALUE);
             $itemsType->getItemSearchData($pageNumber, $itemsCount, $searchValue);
             if ($itemsType->dataTotalCount == 0) {
                 return "";
             }
             $mainTag->addChild($catalogLinks->getPaginationLinks($pageNumber, $itemsCount, $itemsType->dataTotalCount, 'top'));
             $mainTag->addChild($items->getItemsTable($pageNumber, $itemsCount, $itemsType->data, '', $searchValue));
             $mainTag->addChild($catalogLinks->getPaginationLinks($pageNumber, $itemsCount, $itemsType->dataTotalCount, 'bottom'));
         } else {
             if (array_key_exists(UrlParameters::KEY, $_GET)) {
                 $itemsType = new CatalogLoader();
                 $keyValue = Utils::getFromGET(UrlParameters::KEY);
                 $itemsType->getItemsMenuData($pageNumber, $itemsCount, $keyValue);
                 $mainTag->addChild($catalogLinks->getPaginationLinks($pageNumber, $itemsCount, $itemsType->dataTotalCount, 'top'));
                 $mainTag->addChild($items->getItemsTable($pageNumber, $itemsCount, $itemsType->data, $keyValue, ''));
                 $mainTag->addChild($catalogLinks->getPaginationLinks($pageNumber, $itemsCount, $itemsType->dataTotalCount, 'bottom'));
             } else {
                 $itemsType = new CatalogLoader();
                 $itemsType->getItemsMainData($pageNumber, $itemsCount);
                 $mainTag->addChild($catalogLinks->getPaginationLinks($pageNumber, $itemsCount, $itemsType->dataTotalCount, 'top'));
                 $mainTag->addChild($items->getItemsTable($pageNumber, $itemsCount, $itemsType->data, '', ''));
                 $mainTag->addChild($catalogLinks->getPaginationLinks($pageNumber, $itemsCount, $itemsType->dataTotalCount, 'bottom'));
             }
         }
     }
     return $mainTag;
 }
Пример #7
0
 public static function createNote($text, $link)
 {
     $note = new A();
     $note->addStyleClass("note");
     $textWrapper01 = new Div();
     $textWrapper = new Span();
     $textWrapper->addChild($text);
     $textWrapper01->addChild($textWrapper);
     $note->addChild($textWrapper01);
     if (strlen($link) > 0) {
         $note->addAttribute("href", $link);
         $note->addStyleClasses(["hover_text_underline"]);
     } else {
         $note->addStyleClasses(["cursor_default"]);
     }
     return $note;
 }
Пример #8
0
 private function getItemInfo($name, $description)
 {
     $mainTag = new Div();
     $itemTitle = new Div();
     $itemTitle->addStyleClasses(["title", "font_arial"]);
     $itemTitle->addChild($name);
     $itemDescription = new Div();
     $itemDescription->addStyleClasses(["title", "font_arial"]);
     $itemDescription->addChild($description);
     return $mainTag->addChildList([$itemTitle, $itemDescription]);
 }
Пример #9
0
 private function buildPathLink($data)
 {
     $links = [];
     $zIndex = 10;
     $pathIndex = 0;
     $arrow = new Div();
     $arrow->addStyleClass("path_link_item_arrow_right");
     for ($index = 0; $index < count($data); $index++) {
         $node = new Div();
         $node->addAttributes(["xmlns:v" => "http://rdf.data-vocabulary.org/#", "typeof" => "v:Breadcrumb"]);
         $node->addAttribute("style", "z-index: " . $zIndex--);
         $node->addStyleClass("level" . ($index + 1));
         if (count($data[$index]) > 1 && strlen(trim($data[$index][1])) > 0) {
             $pathNode = new A();
             $pathNode->addAttributes(["rel" => "v:url", "property" => "v:title"]);
             $pathNode->addAttribute("href", $data[$index][1]);
         } else {
             $pathNode = new Div();
         }
         $trimText = Utils::trimStr($data[$index][0], Constants::DEFAULT_TEXT_LENGTH_FOR_CATALOG_PATH_LINK);
         $pathNode->addChild($trimText);
         $pathNode->addStyleClasses(["path_link_item_text", $index > 0 ? "not_level_first_level" : ""]);
         array_push($links, $node->addChildList([$pathNode]));
     }
     return $links;
 }
Пример #10
0
 public function createPathLinks()
 {
     $mainTag = new Div();
     $mainTag->addStyleClasses(["path_link", "f-16"]);
     /*$blockForTree = new Div();
       $blockForTree->addStyleClasses(["w-18p"]);*/
     $blockForCatalog = new Div();
     $blockForCatalog->addStyleClasses(["path_link_chain"]);
     $mainTag->addChildList([$blockForCatalog->addChild($this->getPathLinkForMainBlock()), $this->getViewModeBlock()]);
     return $mainTag;
 }
Пример #11
0
 public static function getCompactItemView($name, $images, $itemId, $pageNumber, $num, $key, $valueToSearch, $type, $trimName, $isHighLightElement)
 {
     $blackOut = new Div();
     $blackOut->addStyleClasses(["blackout", "catalog_item_button_container"]);
     $blackOut->addAttributes(["itemscope" => "", "itemtype" => "http://data-vocabulary.org/Product"]);
     $mainDiv = new Div();
     $blackOut->addChild($mainDiv);
     TagUtils::createShadow($mainDiv);
     $mainDiv->addStyleClasses(["simple_item_compact", $isHighLightElement ? Constants::HIGH_LIGHT_ELEMENT : ""]);
     $imagesContainer = new Div();
     $imagesContainer->addStyleClass("catalog_img_container");
     $mainDiv->addChild($imagesContainer);
     $index = 0;
     foreach ($images as $image) {
         if ($index == 1) {
             break;
         }
         $imgView = new Img();
         $imgView->addAttributes(array("src" => addslashes($image), "alt" => $name, TagLabels::ON_CLICK => "openSimpleImg(arguments[0])"));
         $imagesContainer->addChild($imgView);
         $index++;
     }
     if ($type == 'HARD') {
         $url = URLBuilder::getCatalogLinkForSingleItem($pageNumber, $num, $itemId, array(UrlParameters::KEY => $key, UrlParameters::SEARCH_VALUE => $valueToSearch));
         $mainDiv->addStyleClass("cursor_pointer");
         $link = TagUtils::createNote($trimName, "");
         $blackOut->addChild($link);
         $blackOut->addChild(self::getItemButton($url));
     } elseif ($type == 'SIMPLE') {
         $text = TagUtils::createNote($trimName, "");
         $blackOut->addChild($text);
     }
     return $blackOut;
 }
Пример #12
0
 private function remainingLinks()
 {
     $mainDiv = new Div();
     for ($index = 1; $index < count(Labels::$BOTTOM_NAVIGATION_KEYS); $index++) {
         $div01 = new Div();
         $mainDiv->addChild($div01);
         $div01->addStyleClasses(["input_hover", "panel_btn", "float_left", "bottom_tree_main_title", "cursor_pointer", "bottom_remaining_link"]);
         $div01->addAttribute(TagLabels::ON_CLICK, Utils::getWindowOnclickValue(Labels::$TOP_NAVIGATION_LINKS[Labels::$BOTTOM_NAVIGATION_KEYS[$index]]));
         $div01->addChild(Labels::$TOP_NAVIGATION_TITLE[Labels::$BOTTOM_NAVIGATION_KEYS[$index]]);
     }
     return $mainDiv;
 }
Пример #13
0
/**
 * A Composite implementation, which accepts as children generic Components.
 * These children may be H1, P or even other Divs.
 */
class Div implements HtmlElement
{
    private $_children = array();
    public function addChild(HtmlElement $element)
    {
        $this->_children[] = $element;
    }
    public function __toString()
    {
        $html = "<div>\n";
        foreach ($this->_children as $child) {
            $childRepresentation = (string) $child;
            $childRepresentation = str_replace("\n", "\n    ", $childRepresentation);
            $html .= '    ' . $childRepresentation . "\n";
        }
        $html .= "</div>";
        return $html;
    }
}
// Client code
$div = new Div();
$div->addChild(new H1('Title'));
$div->addChild(new P('Lorem ipsum...'));
$sub = new Div();
$sub->addChild(new P('Dolor sit amet...'));
$div->addChild($sub);
echo $div, "\n";
Пример #14
0
 private function mainTreeRender(Tree &$tree, $selectedKey)
 {
     $li = new Li();
     $mainDiv = new Div();
     $mainDiv->addStyleClasses(["expand", "text_non_select", "tree_text_node", "input_hover"]);
     $table = new Table();
     $tr = new Tr();
     $nodeIcon = new Td();
     $nodeText = new Td();
     $nodeText->addStyleClass("tree_text");
     $nodeSearchCount = new Td();
     $nodeSearchCount->addStyleClass("tree_search_count");
     if (count($tree->childrens) > 0) {
         $nodeIcon->addStyleClasses(["tree_btn"]);
         $icon = new Img();
         $icon->addAttribute("style", "top: 2px; position: relative; margin: 0 5px;");
         $icon->addAttribute("src", $this->treeLevel <= $this->DEFAULT_TREE_LEVEL_TO_SHOW || $tree->show ? "images/arrow90.png" : "images/arrow00.png");
         $nodeIcon->addChild($icon);
     } else {
         $nodeIcon->addStyleClass("tree_empty");
     }
     $link = new A();
     $link->addAttribute("href", URLBuilder::getCatalogLinkForTree($tree->key));
     $link->addChild($tree->value);
     $link->addStyleClass("input_hover");
     $nodeSelected = new Div();
     $nodeSelected->addStyleClass($tree->key == $selectedKey ? 'selected' : 'tree_empty');
     $link->addChild($nodeSelected);
     $nodeText->addChild($link);
     return $li->addChild($mainDiv->addChild($table->addChild($tr->addChildList([$nodeIcon, $nodeText, $nodeSearchCount]))));
 }
Пример #15
0
 private function getStyledTextList($textList, $styles)
 {
     $mainDiv = new Div();
     $styleIndex = 0;
     for ($textIndex = 0; $textIndex < count($textList); $textIndex++) {
         $text = new Div();
         $text->addChild($textList[$textIndex]);
         $text->addStyleClass($styles[$styleIndex]);
         if ($styleIndex == count($styles) - 1) {
             $styleIndex = 0;
         } else {
             $styleIndex++;
         }
         $mainDiv->addChild($text);
     }
     return $mainDiv;
 }
Пример #16
0
 public static function createPriceListLink()
 {
     $pref = new DBPreferencesType();
     $pricesDir = $pref->getPreference(Constants::PRICE_DIRECTORY)[DB::TABLE_PREFERENCES__VALUE];
     $prices = FileUtils::getFilesByDescription($pricesDir, 'xls');
     $descriptions = FileUtils::getFilesByDescription($pricesDir, 'txt');
     $mainTag = new Div();
     $mainTag->addStyleClass("download_table");
     for ($index = 0; $index < count($prices); $index++) {
         $priceItem = new Div();
         $priceIcon = new Div();
         $priceIcon->addStyleClasses(["price_icon", "float_left"]);
         $priceText = new Div();
         $priceText->addStyleClass(["download_description", "float_left"]);
         $priceText->addChild(file_get_contents($descriptions[$index]));
         $priceItem->addChildList([$priceIcon, $priceText]);
         $mainTag->addChild($priceItem);
     }
     return $mainTag;
 }