/** * Render * * @param RenderHandler $handler * @return bool */ public function render(RenderHandler $handler) { if (!empty($this->delay)) { $handler->add($this->directive, $this->delay); } return true; }
/** * Render * * @param RenderHandler $handler * @return bool */ public function render(RenderHandler $handler) { foreach ($this->comments as $comment) { $handler->add(self::DIRECTIVE_COMMENT, $comment); } return true; }
/** * Render * * @param RenderHandler $handler * @return bool */ public function render(RenderHandler $handler) { if (isset($this->host[0])) { $handler->add(self::DIRECTIVE_HOST, $this->host[0]); } return true; }
/** * Render * * @param RenderHandler $handler * @return bool */ public function render(RenderHandler $handler) { if (!empty($this->version)) { $handler->add(self::DIRECTIVE_ROBOT_VERSION, $this->version); } return true; }
/** * Render * * @param RenderHandler $handler * @return bool */ public function render(RenderHandler $handler) { sort($this->sitemaps); foreach ($this->sitemaps as $sitemap) { $handler->add(self::DIRECTIVE_SITEMAP, $sitemap); } return true; }
/** * Render * * @param RenderHandler $handler * @return bool */ public function render(RenderHandler $handler) { sort($this->host); foreach ($this->host as $host) { $handler->add(self::DIRECTIVE_HOST, $host); } return true; }
/** * Render * * @param RenderHandler $handler * @return bool */ public function render(RenderHandler $handler) { $this->sort(); foreach ($this->visitTimes as $array) { $handler->add(self::DIRECTIVE_VISIT_TIME, $array['from'] . '-' . $array['to']); } return true; }
/** * Render compressed * * @param RenderHandler $handler * @return bool */ private function renderCompressed(RenderHandler $handler) { $pair = $this->cleanParam; while (($currentPair = current($pair)) !== false) { $equalParams = array_keys($pair, $currentPair); foreach ($currentPair as $path) { $handler->add(self::DIRECTIVE_CLEAN_PARAM, implode('&', $equalParams) . ' ' . $path); } foreach ($equalParams as $param) { unset($pair[$param]); } } return true; }
/** * Render compressed * * @param RenderHandler $handler * @return bool */ private function renderCompressed(RenderHandler $handler) { $pair = $this->export(); while (!empty($pair)) { $groupMembers = current($pair); foreach (array_keys($pair, $groupMembers) as $userAgent) { $handler->add(self::DIRECTIVE_USER_AGENT, $userAgent); unset($pair[$userAgent]); } if (isset($userAgent)) { $this->renderAdd($userAgent, $handler); unset($userAgent); } } return true; }
/** * Implode * * @param string $directive * @param RenderHandler $handler * @return bool */ public function addInline($directive, RenderHandler $handler) { $lines = array_map('trim', $handler->export()); foreach ($lines as $line) { $this->add($directive, $line); } return true; }
/** * Render * * @param RenderHandler $handler * @return bool */ public function render(RenderHandler $handler) { $this->sort(); foreach ($this->requestRates as $array) { $suffix = 's'; if (isset($array['from']) && isset($array['to'])) { $suffix .= ' ' . $array['from'] . '-' . $array['to']; } $handler->add(self::DIRECTIVE_REQUEST_RATE, '1/' . $array['rate'] . $suffix); } return true; }
/** * Render * * @param RenderHandler $handler * @return bool */ public function render(RenderHandler $handler) { $this->removeOverlapping(); sort($this->path); $inline = new RenderHandler($handler->getLevel()); $this->host->render($inline); $this->cleanParam->render($inline); $handler->addInline($this->directive, $inline); foreach ($this->path as $path) { $handler->add($this->directive, $path); } return true; }