protected function robotsToString($app_id, $route, $robots) { $url = waRouting::getDomainUrl($this->domain, false) . '/' . waRouting::clearUrl($route); $result = "# wa " . $app_id . " " . $route . "\n"; foreach ($robots as $row) { if (strpos($row[1], '[URL]') !== false) { $row[1] = str_replace('[URL]', $url, $row[1]); } $result .= $row[0] . ": " . $row[1] . "\n"; } $result .= "# wa " . $app_id . "\n"; return $result; }
/** * @param $domain * @param string $domain_name * @param bool $escape * @return array */ public function getFrontendApps($domain, $domain_name = null, $escape = false) { $routes = $this->getRouting()->getRoutes($domain); $path = waRouting::getDomainUrl($domain, false); $apps = array(); $all_apps = $this->getApps(); foreach ($routes as $r) { if (isset($r['app']) && isset($all_apps[$r['app']])) { if (!empty($r['private'])) { continue; } $url = $r['url']; $url = waRouting::clearUrl($url); if (strpos($url, '<') !== false) { continue; } if (isset($r['_name'])) { $name = $r['_name']; } elseif ($r['app'] == 'site') { if ($domain_name) { $name = $domain_name; } else { if (!isset(self::$instances['site'])) { self::getInstance('site'); } if (!isset($domain_info)) { $domain_model = new siteDomainModel(); $domain_info = $domain_model->getByName($domain); } $name = $domain_info && $domain_info['title'] ? $domain_info['title'] : $this->accountName(); } } else { $name = $all_apps[$r['app']]['name']; } $apps[] = array('url' => $path . '/' . $url, 'name' => $escape ? htmlspecialchars($name) : $name); } } return array_reverse($apps); }