Create a URL slider links.

@param  int  $onEachSide
@return array
558113
protected function getUrlSlider($onEachSide)
	{
		$window = $onEachSide * 2;

		if ( ! $this->hasPages())
		{
			return [
				'first'  => null,
				'slider' => null,
				'last'   => null,
			];
		}

		// If the current page is very close to the beginning of the page range, we will
		// just render the beginning of the page range, followed by the last 2 of the
		// links in this list, since we will not have room to create a full slider.
		if ($this->currentPage() <= $window)
		{
			return $this->getSliderTooCloseToBeginning($window);
		}

		// If the current page is close to the ending of the page range we will just get
		// this first couple pages, followed by a larger window of these ending pages
		// since we're too close to the end of the list to create a full on slider.
		elseif ($this->currentPage() > ($this->lastPage() - $window))
		{
			return $this->getSliderTooCloseToEnding($window);
		}

		// If we have enough room on both sides of the current page to build a slider we
		// will surround it with both the beginning and ending caps, with this window
		// of pages in the middle providing a Google style sliding paginator setup.
		return $this->getFullSlider($onEachSide);
	}
1027200
private function getAdditionalLinks($locale)
    {
        $return = [];
        $additional_links = $this->container->getParameter('networking_init_cms.xml_sitemap.additional_links');
        foreach ($additional_links as $links) {
            if ($links['locale'] == $locale) {
                return $links['links'];
            }
        }

        return $return;
    }
985262
function() {
			if (this._categorizedAnchors === null) {
				this._categorizedAnchors = {};
				var pageURL = new URL(window.location.href);
				pageURL.hash = "";

				this._currentCategory = "";
				Object.keys(this._categorizedPageLinks).some(function(category) {
					var links = this._categorizedPageLinks[category];
					if (links.some(function(link) {
						var linkURL = new URL(link.href);
						link.hash = "";
						return pageURL.pathname === linkURL.pathname;
					})) {
						this._currentCategory = category;
						return true;
					}
				}, this);
				
				var sideMenuHome = document.createElement("div"); //$NON-NLS-0$
				sideMenuHome.classList.add("sideMenuHome"); //$NON-NLS-0$
				this._sideMenuHome = sideMenuHome;
				
				var sideMenuList = document.createElement("ul"); //$NON-NLS-0$
				sideMenuList.classList.add("sideMenuList"); //$NON-NLS-0$
				this._sideMenuList = sideMenuList;

				this._categoryInfos.forEach(function(categoryInfo) {
					var listItem = document.createElement('li'); //$NON-NLS-0$
					listItem.classList.add("sideMenuItem"); //$NON-NLS-0$
					listItem.classList.add("sideMenu-notification"); //$NON-NLS-0$
					if (this._currentCategory === categoryInfo.id) {
						listItem.classList.add("sideMenuItemActive");
					}
					listItem.categoryId = categoryInfo.id;
					listItem.categoryName = categoryInfo.textContent || categoryInfo.id;
					var anchor = document.createElement("a"); //$NON-NLS-0$
					anchor.classList.add("submenu-trigger"); // styling
					if (typeof categoryInfo.imageDataURI === "string" && categoryInfo.imageDataURI.indexOf("data:image") === 0) {
						var img = document.createElement("img");
						img.width = "16";
						img.height = "16";
						img.src = categoryInfo.imageDataURI;
						anchor.appendChild(img);
					} else {
						var imageClass = categoryInfo.imageClass || "core-sprite-blank-menu-item";
						anchor.classList.add(imageClass);
					}
					listItem.appendChild(anchor);
					sideMenuList.appendChild(listItem);
					anchor.setAttribute("aria-label", listItem.categoryName);
					if (this._currentCategory === categoryInfo.id) {
						anchor.setAttribute("aria-current", "page");
					}
					anchor.commandTooltip = new mTooltip.Tooltip({
						node: anchor,
						text: listItem.categoryName,
						position: ["right", "above", "below", "left"] //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$ //$NON-NLS-0$
					});
					this._categorizedAnchors[categoryInfo.id] = anchor;
				}, this);
				
				// create top scroll button
				this._topScrollButton = document.createElement("button"); //$NON-NLS-0$
				this._topScrollButton.classList.add("sideMenuScrollButton"); //$NON-NLS-0$
				this._topScrollButton.classList.add("sideMenuTopScrollButton"); //$NON-NLS-0$
				this._topScrollButton.classList.add("core-sprite-openarrow"); //$NON-NLS-0$
				this._topScrollButton.setAttribute("aria-label", messages["Up"]); //$NON-NLS-0$
				this._topScrollButton.tabIndex = -1;
								
				this._topScrollButton.addEventListener("mousedown", function(){ //$NON-NLS-0$
					if (this._activeScrollInterval) {
						window.clearInterval(this._activeScrollInterval);
					}
					this._activeScrollInterval = window.setInterval(this._scrollUp.bind(this), 10);
				}.bind(this));
				this._topScrollButton.addEventListener("mouseup", function(){ //$NON-NLS-0$
					if (this._activeScrollInterval) {
						window.clearInterval(this._activeScrollInterval);
						this._activeScrollInterval = null;
					}
				}.bind(this));
				
				// create bottom scroll button
				this._bottomScrollButton = document.createElement("button"); //$NON-NLS-0$
				this._bottomScrollButton.classList.add("sideMenuScrollButton"); //$NON-NLS-0$
				this._bottomScrollButton.classList.add("sideMenuBottomScrollButton"); //$NON-NLS-0$
				this._bottomScrollButton.classList.add("core-sprite-openarrow"); //$NON-NLS-0$
				this._bottomScrollButton.setAttribute("aria-label", messages["Down"]); //$NON-NLS-0$
				this._bottomScrollButton.tabIndex = -1;
				
				this._bottomScrollButton.addEventListener("mousedown", function(){ //$NON-NLS-0$
					if (this._activeScrollInterval) {
						window.clearInterval(this._activeScrollInterval);
					}
					this._activeScrollInterval = window.setInterval(this._scrollDown.bind(this), 10);
				}.bind(this));
				this._bottomScrollButton.addEventListener("mouseup", function(){ //$NON-NLS-0$
					if (this._activeScrollInterval) {
						window.clearInterval(this._activeScrollInterval);
						this._activeScrollInterval = null;
					}
				}.bind(this));
				
				// add resize listener to window to update the scroll button visibility if necessary
				window.addEventListener("resize", function(){ //$NON-NLS-0$
					this._updateScrollButtonVisibility();
				}.bind(this));

				this._updateCategoryAnchors();
				this._show = function() {
					this._parentNode.setAttribute("aria-label", messages.sidebar); //$NON-NLS-1$
					this._parentNode.appendChild(sideMenuHome);
					this._parentNode.appendChild(this._topScrollButton);
					this._parentNode.appendChild(sideMenuList);
					this._parentNode.appendChild(this._bottomScrollButton);
					var activeLink = lib.$(".sideMenuItemActive", this._parentNode); //$NON-NLS-0$
					if (activeLink && activeLink.scrollIntoView) {
						activeLink.scrollIntoView();
					}
					this._updateScrollButtonVisibility();
					this._show = SideMenu.prototype._show;
				};				
				window.setTimeout(function() {
					this._show(); // this._show can be re-assigned
				}.bind(this), 1000); // we delay rendering to give a chance to set related links
			}

			if (this._state === CLOSED_STATE) {
				this._contentNode.classList.add("content-sideMenu-closed"); //$NON-NLS-0$
				if (this._renderTimeout) {
					window.clearTimeout(this._renderTimeout);
					this._renderTimeout = null;
				}
				this._renderTimeout = window.setTimeout(function() {
					this._parentNode.classList.add("sideMenu-closed"); //$NON-NLS-0$
					this._renderTimeout = null;
				}.bind(this), TRANSITION_DURATION_MS);
				this._parentNode.classList.add("animating"); //$NON-NLS-0$
			} else {
				if (this._renderTimeout) {
					window.clearTimeout(this._renderTimeout);
					this._renderTimeout = null;
				}
				this._parentNode.classList.remove("animating"); //$NON-NLS-0$
				this._parentNode.classList.remove("sideMenu-closed"); //$NON-NLS-0$
				this._contentNode.classList.remove("content-sideMenu-closed"); //$NON-NLS-0$
			}
		}
33385
public function getAdjacentUrlRange($onEachSide)
    {
        return $this->paginator->getUrlRange(
            $this->currentPage() - $onEachSide,
            $this->currentPage() + $onEachSide
        );
    }
1129486
public static function createSlideshow($arguments)
    {
        /** @var News $record */
        if (Controller::curr() instanceof NewsHolderPage_Controller && ($record = Controller::curr()->getNews())) {
            $SiteConfig = SiteConfig::current_site_config();
            if ($SiteConfig->SlideshowInitial) {
                $template = 'NewsSlideShowFirst';
            } else {
                $template = 'NewsSlideShowAll';
            }
            $record->Image = $record->SlideshowImages()->sort('SortOrder ASC');
            $template = new SSViewer($template);

            return $template->process($record);
        }
    }
584475
public function getUrlAssetUrls($url, array $assetTypes = ['image'], $siteId = null): array
    {
        return RouteMap::$plugin->routes->getUrlAssetUrls($url, $assetTypes, $siteId);
    }
898319
public function getEnabledSlides()
    {
        $slides = ArrayList::create();
        
        foreach ($this->getSlides() as $slide) {
            $slides->merge($slide->getEnabledSlides());
        }
        
        return $slides;
    }
792249
public function hasAnySupportUrl()
    {
        return isset($this['contact']) && (
                isset($this['contact']['docsUrl']) ||
                isset($this['contact']['forumUrl']) ||
                isset($this['contact']['manualUrl']) ||
                isset($this['contact']['supportUrl'])
            );
    }
662594
public function getHelperLinks($view)
    {
        if (empty($this->helperLinks[$view])) {
            $this->helperLinks[$view] = [];
        }

        return $this->helperLinks[$view];
    }
302639
public function getAllUrls() {
        $urls = array();
        $origStore = Mage::app()->getStore();
        $visibility = array(
            Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH,
            Mage_Catalog_Model_Product_Visibility::VISIBILITY_IN_CATALOG,
        );
        foreach (Mage::app()->getStores() as $storeId => $store) {
            Mage::app()->setCurrentStore($store);
            $baseUrl = $store->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK);
            $urls[] = $baseUrl;
            foreach (Mage::getModel('catalog/category')
                        ->getCollection($storeId)
                        ->addIsActiveFilter()
                            as $cat) {
                $urls[] = $cat->getUrl();
                foreach ($cat->getProductCollection($storeId)
                            ->addUrlRewrite($cat->getId())
                            ->addAttributeToFilter('visibility', $visibility)
                                as $prod) {
                    $urls[] = $prod->getProductUrl();
                }
            }
            $sitemap = (Mage::getConfig()->getNode('modules/MageWorx_XSitemap') !== FALSE) ?
                                                           'mageworx_xsitemap/cms_page' : 'sitemap/cms_page';
            foreach (Mage::getResourceModel($sitemap)
                        ->getCollection($storeId) as $item) {
                $urls[] = $baseUrl.$item->getUrl();
            }
        }
        Mage::app()->setCurrentStore($origStore);
        return array_unique($urls);
    }
925293
public function getUrlfriendlyInitials()
    {
        $urlFriendlyInitials = $this->convertToUrlFriendlyString($this->getInitials());

        $urlFriendlyInitials = mb_substr($urlFriendlyInitials, 0, $this->length);

        return $urlFriendlyInitials;
    }
767048
public function actionGetUrlAssetUrls($url, array $assetTypes = ['image'], $siteId = null): Response
    {
        return $this->asJson(RouteMap::$plugin->routes->getUrlAssetUrls($url, $assetTypes, $siteId));
    }
1121132
public function getEnabledSlides()
    {
        $slides = ArrayList::create();
        
        foreach ($this->getListItems() as $item) {
            
            if ($slide = $this->createSlide($item)) {
                $slides->push($slide);
            }
            
        }
        
        return $slides;
    }
240773
protected function getOriginationUrls() {
        if (!$this->_originationUrls) {
            $this->_originationUrls = new OriginationUrlList($this->version, $this->solution['sid']);
        }

        return $this->_originationUrls;
    }
362377
protected function createComponentPageUrlModal() : object
    {
        $control = $this->IPage_UrlModal->create();

        $control->onSaveFail[] = function () use ($control)
        {
            $control->redrawControl('urlForm');
        };

        return $control;
    }
491028
protected function getLinks()
    {
        if ($this->simple) {
            return '';
        }

        $block = [
            'first'  => null,
            'slider' => null,
            'last'   => null,
        ];

        $side   = 3;
        $window = $side * 2;

        if ($this->lastPage < $window + 6) {
            $block['first'] = $this->getUrlRange(1, $this->lastPage);
        } elseif ($this->currentPage <= $window) {
            $block['first'] = $this->getUrlRange(1, $window + 2);
            $block['last']  = $this->getUrlRange($this->lastPage - 1, $this->lastPage);
        } elseif ($this->currentPage > ($this->lastPage - $window)) {
            $block['first'] = $this->getUrlRange(1, 2);
            $block['last']  = $this->getUrlRange($this->lastPage - ($window + 2), $this->lastPage);
        } else {
            $block['first']  = $this->getUrlRange(1, 2);
            $block['slider'] = $this->getUrlRange($this->currentPage - $side, $this->currentPage + $side);
            $block['last']   = $this->getUrlRange($this->lastPage - 1, $this->lastPage);
        }

        $html = '';

        if (is_array($block['first'])) {
            $html .= $this->getUrlLinks($block['first']);
        }

        if (is_array($block['slider'])) {
            $html .= $this->getDots();
            $html .= $this->getUrlLinks($block['slider']);
        }

        if (is_array($block['last'])) {
            $html .= $this->getDots();
            $html .= $this->getUrlLinks($block['last']);
        }

        return $html;
    }
444693
public function getUrlsList($instanceName)
    {
        $route = new SplashRoute($this->url, $instanceName, 'action', null, null);

        return array($route);
    }