示例#1
0
 /**
  * Render
  *
  * @param RenderHandler $handler
  * @return bool
  */
 public function render(RenderHandler $handler)
 {
     if (!empty($this->delay)) {
         $handler->add($this->directive, $this->delay);
     }
     return true;
 }
示例#2
0
 /**
  * Render
  *
  * @param RenderHandler $handler
  * @return bool
  */
 public function render(RenderHandler $handler)
 {
     foreach ($this->comments as $comment) {
         $handler->add(self::DIRECTIVE_COMMENT, $comment);
     }
     return true;
 }
示例#3
0
 /**
  * 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;
 }
示例#5
0
 /**
  * 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;
 }
示例#10
0
 /**
  * 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;
 }
示例#12
0
 /**
  * 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;
 }