function sitemap_xml_walk($sitemap, $parent = '') { $output = ''; foreach ($sitemap as $slug => $page) { $uri = $parent . $slug; // If hidden if (!Xysti::meta('disabled', $page) && !Xysti::meta('auth', $page)) { $output .= '<url>' . PHP_EOL; $output .= '<loc>' . URL::base() . '/' . $uri . '</loc>' . PHP_EOL; foreach (array('lastmod', 'changefreq', 'priority') as $attr) { if (isset($page['sitemap'][$attr])) { $output .= '<' . $attr . '>' . $page['sitemap'][$attr] . '</' . $attr . '>' . PHP_EOL; } } $output .= '</url>' . PHP_EOL; } // If children if (isset($page['/']) && is_array($page['/'])) { $output .= sitemap_xml_walk($page['/'], $uri . '/'); } } return $output; }
/** * Output heading * * Generate <h1>, <h2> etc * @param array $args */ function page_title($args = array()) { $args = array_merge(array('echo' => TRUE, 'a' => FALSE, 'tag' => 'h1', 'caption' => Xysti::page('caption'), 'href' => URI::current(), 'title' => Xysti::page('title')), $args); $output = ''; $output .= '<' . $args['tag'] . '>'; if ($args['a']) { $output .= '<a href="' . $args['href'] . '">'; } $output .= $args['title']; if ($args['caption']) { $output .= ' <span class="caption">' . $args['caption'] . '</span>'; } if ($args['a']) { $output .= '</a>'; } $output .= '</' . $args['tag'] . '>' . PHP_EOL; if ($args['echo']) { echo $output; } else { return $output; } }
/** * Count URI segments * @var string $uri * @return int */ public static function uri_count($uri = NULL) { if (is_null($uri)) { $uri = URI::current(); } return count(Xysti::uri_array($uri)); }