Add a link to execute before messages are added
@param $link
@param string $area
556107
public function before($link, $area = '')
    {
        $area = $area ?: $this->workingArea ?: '';

        if (isset($this->before[$link])) {
            $this->before[$link] = array_merge($this->before[$link], explode(',', $area));
        } else {
            $this->before[$link] = explode(',', $area);
        }

        $this->clearWorking();
    }
402620
public void addArea(final Section AREA) {
        if (null == AREA) return;
        areas.add(AREA);
        Collections.sort(areas, new SectionComparator());
        fireUpdateEvent(SECTION_EVENT);
    }
859301
public function addLinkString($key, $href) {
		Validator::checkMemberName($key);
		
		if (isset($this->links[$key])) {
			throw new DuplicateException('link with key "'.$key.'" already set');
		}
		
		$this->links[$key] = $href;
	}
159780
private function addLinkHeader ($link)
    {
        $headers = Craft::$app->getResponse()->getHeaders();

        if ( $headers->get('Link') ) {
            $link = $headers->get('Link') . ',' . $link;
        }

        $headers->set('Link', $link);
    }
320638
protected function _createSymlink($target, $link)
    {
        // @codingStandardsIgnoreStart
        $result = @symlink($target, $link);
        // @codingStandardsIgnoreEnd

        if ($result) {
            $this->out('Created symlink ' . $link);

            return true;
        }

        return false;
    }
357858
public function fill_links($links) {
	foreach ($links as $key => $link) {
		$this->add_link($key, $link);
	}
}
241468
public function linkCell(string $link) : LinkCell
    {
        $this->addCell($cell = new LinkCell($link));

        return $cell;
    }
57425
public final void append(final AbstractItemLink link) throws SevereMessageStoreException
    {
        if (link.isItemStreamLink())
        {
            _itemStreams.append(link);
        }
        else
        {
            throw new SevereMessageStoreException("Cannot add this directly to message store");
        }
    }
700413
protected function prepareLink(string &$link = null): void
	{
		if ($link !== null) {
			if (Strings::endsWith($link, ':default')) {
				$link = substr($link, 0, -7);
			}
			$pos = strrpos($link, ':');
			if ($pos !== strlen($link)) {
				$link = substr($link, 0, $pos + 1);
			}
		}
	}
1224078
public function addCrumb($section = null, $link = null)
    {
        if (is_array($link)) {
            $link = $this->url($link);
        }
        $this->path[] = ['section'=>$section, 'link'=>$link, 'divider'=>$this->dividerClass];
    }
544084
public function addItem(string $title, string $link, string $description): RssFeedItem
    {
        return $this->items[] = RssFeedItem::create($title, $link, $description);
    }
1050294
public function assertLinkRegion($link, $region)
    {
        $regionObj = $this->getRegion($region);

        $result = $regionObj->findLink($link);
        if (empty($result)) {
            throw new \Exception(sprintf('No link to "%s" in the "%s" region on the page %s', $link, $region, $this->getSession()->getCurrentUrl()));
        }
    }
528072
public function setLink($link)
    {
        if ($this->version == Eresus_Feed_Writer::RSS2 || $this->version == Eresus_Feed_Writer::RSS1)
        {
            $this->addElement('link', $link);
        }
        else
        {
            $this->addElement('link', '', array('href' => $link));
            $this->addElement('id', Eresus_Feed_Writer::uuid($link, 'urn:uuid:'));
        }

    }
215288
public function addAboutLink(Link $link)
    {
        if ($link->getName() !== 'about') {
            throw new \Exception('Error Objects only support "about" links');
        }

        $this->links->addLink($link);
    }
1313089
def link_add(self, rel, href, **atts):
        
        self.link_set(rel, href, allow_duplicates=True, **atts)
252314
protected function LinkWithSearch($link) {
        // Whitelist to avoid side effects
        $params=array(
                    'q'=>(array)$this->request->getVar('q'),
                    'tag'=>$this->request->getVar('tag'),
                    'creator'=>$this->request->getVar('creator'),
                    'ParentID'=>$this->request->getVar('ParentID')
                );
        
        $link=Controller::join_links(
                                    $link,
                                    (array_filter(array_values($params)) ? '?'.http_build_query($params):null)
                                );
        
        $this->extend('updateLinkWithSearch', $link);
        return $link;
    }
916866
private function fillArea(Area $area, $path)
    {
        $finder = new Finder($path);

        foreach (SortorderParser::parse($finder) as $subPath)
        {
            $contentFullPath = $path . DIRECTORY_SEPARATOR . $subPath;
            if(file_exists($contentFullPath))
            {
                //Detect file extension
                $type = substr($subPath, strrpos($subPath, '.') + 1);

                $area->addContentAsLast(
                    new Content(
                        $type,
                        substr($contentFullPath, strlen($this->contentPath))
                    )
                );
            }
            else
            {
                throw new  PageException("Unable to find content at [$contentFullPath]");
            }
        }
    }