public function get3Dots() { $mainTag = new Div(); $mainTag->addStyleClasses(["three_dots_style", "f-15"]); $mainTag->addChild("..."); return $mainTag; }
private function getMap() { $mainTag = new Div(); $mainTag->addStyleClass("map_viewport"); $map = new Div(); $map->updateId("google_map"); return $mainTag->addChild($map); }
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; }
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; }
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; }
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; }
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; }
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]); }
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; }
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; }
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; }
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; }
/** * 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";
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])))); }
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; }
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; }