1<?php 2/** 3 * Sitemap Tools 4 * 5 * Tool to generate sitemaps 6 * 7 * @package admin 8 */ 9define('OFFSET_PATH', 3); 10 11require_once(dirname(dirname(dirname(__FILE__))) . '/admin-globals.php'); 12require_once(SERVERPATH . '/' . ZENFOLDER . '/template-functions.php'); 13 14admin_securityChecks(ADMIN_RIGHTS, currentRelativeURL()); 15 16if (!zp_loggedin(OVERVIEW_RIGHTS)) { // prevent nefarious access to this page. 17 redirectURL(FULLWEBPATH . '/' . ZENFOLDER . '/admin.php?from=' . currentRelativeURL()); 18} 19if (isset($_GET['clearsitemapcache'])) { 20 sitemap::clearCache(); 21 redirectURL(FULLWEBPATH . '/' . ZENFOLDER . '/' . PLUGIN_FOLDER . '/sitemap-extended/sitemap-extended-admin.php'); 22} 23 24$webpath = WEBPATH . '/' . ZENFOLDER . '/'; 25$zenphoto_tabs['overview']['subtabs'] = array(gettext('Sitemap') => FULLWEBPATH . '/' . ZENFOLDER . '/' . PLUGIN_FOLDER . '/sitemap-extended/sitemap-extended-admin.php'); 26printAdminHeader('overview', 'sitemap'); 27if (isset($_GET['generatesitemaps'])) { 28 $_zp_loggedin = NULL; 29 $_sitemap_number = sanitize_numeric($_GET['number']); 30 $sitemap_index = sitemap::getIndexLinks(); 31 $sitemap_albums = sitemap::getAlbums(); 32 $sitemap_images = sitemap::getImages(); 33 if (extensionEnabled('zenpage')) { 34 $sitemap_newsindex = sitemap::getZenpageNewsIndex(); 35 $sitemap_articles = sitemap::getZenpageNewsArticles(); 36 $sitemap_categories = sitemap::getZenpageNewsCategories(); 37 $sitemap_pages = sitemap::getZenpagePages(); 38 } 39 $numberAppend = ''; 40 if (isset($_GET['generatesitemaps']) && 41 (!empty($sitemap_index) || !empty($sitemap_albums) || !empty($sitemap_images) || !empty($sitemap_newsindex) || !empty($sitemap_articles) || !empty($sitemap_categories) || !empty($sitemap_pages))) { 42 $numberAppend = '-' . floor( ($_sitemap_number / SITEMAP_CHUNK) + 1 ); 43 $metaURL = 'sitemap-extended-admin.php?generatesitemaps&number=' . ($_sitemap_number + SITEMAP_CHUNK); 44 } else { 45 $metaURL = ''; 46 } 47 if (!empty($metaURL)) { 48 ?> 49 <meta http-equiv="refresh" content="1; url=<?php echo $metaURL; ?>" /> 50 <?php 51 } 52} // if(isset($_GET['generatesitemaps']) end 53?> 54<link rel="stylesheet" href="<?php echo WEBPATH . '/' . ZENFOLDER; ?>/admin-statistics.css" type="text/css" media="screen" /> 55<script type="text/javascript"> 56 // <!-- <![CDATA[ 57 $(document).ready(function() { 58 /* $(".colorbox").colorbox({ 59 iframe: false, 60 inline:true, 61 href: '#sitemap', 62 width: 90%, 63 photo: false, 64 close: '<?php echo gettext("close"); ?>' 65 }); */ 66 }); 67 // ]]> --> 68</script> 69<?php 70echo '</head>'; 71?> 72 73<body> 74 <?php 75 printLogoAndLinks(); 76 ?> 77 <div id="main"> 78 <span id="top"></span> 79 <?php printTabs(); 80 ?> 81 <div id="content"> 82 <?php printSubtabs(); ?> 83 <div class="tabbox"> 84 <?php zp_apply_filter('admin_note', 'sitemap', ''); ?> 85 <h1><?php echo gettext('Sitemap tools'); ?></h1> 86 <?php if (!isset($_GET['generatesitemaps']) && !isset($_GET['clearsitemapcache'])) { ?> 87 <p class="notebox"><?php echo gettext('<strong>NOTE:</strong> If your theme uses different custom settings instead of the backend options the sitemaps may not match your site.'); ?></p> 88 <p><?php echo gettext('This creates individual static xml sitemap files of the following items:'); ?></p> 89 <ul> 90 <li><strong><?php echo gettext('Zenphoto items'); ?></strong> 91 <ul> 92 <li><em><?php echo gettext('Index pages'); ?></em></li> 93 <li><?php echo gettext('<em>Albums</em>: These are split into multiple sitemaps.'); ?></li> 94 <li><?php echo gettext('<em>Images</em>: These are split into multiple sitemaps.'); ?></li> 95 </ul> 96 </li> 97 <li><strong><?php echo gettext('Zenpage CMS items (if the plugin is enabled)'); ?></strong> 98 <ul> 99 <li><em><?php echo gettext('News index'); ?></em></li> 100 <li><em><?php echo gettext('News Articles'); ?></em></li> 101 <li><em><?php echo gettext('News categories'); ?></em></li> 102 <li><em><?php echo gettext('Pages'); ?></em></li> 103 </ul> 104 </li> 105 </ul> 106 <p><?php echo gettext('Additionally a sitemapindex file is created that points to the separate ones above. You can reference this sitemapindex file in your robots.txt file or submit its url to services like Google via <code>www.yourdomain.com/zenphoto/index.php?sitemap</code>'); ?></p> 107 <p><?php printf(gettext('The sitemap cache is cleared if you create new ones. All files are stored in the <code>/%s/sitemap/</code> folder.'), STATIC_CACHE_FOLDER); ?></p> 108 <p class="buttons"><a href="sitemap-extended-admin.php?generatesitemaps&number=1"><?php echo gettext("Generate sitemaps"); ?></a></p> 109 <p class="buttons"><a href="sitemap-extended-admin.php?clearsitemapcache"><?php echo gettext("Clear sitemap cache"); ?></a></p> 110 <br style="clear: both" /><br /> 111 <?php 112 sitemap::printAvailableSitemaps(); 113 } // isset generate sitemaps / clearsitemap cache 114 if (isset($_GET['generatesitemaps'])) { 115 116 // clear cache before creating new ones 117 if ($_sitemap_number == 1) { 118 sitemap::clearCache(); 119 } 120 echo '<ul>'; 121 sitemap::generateCacheFile('sitemap-zenphoto-index', $sitemap_index); 122 sitemap::generateCacheFile('sitemap-zenphoto-albums' . $numberAppend, $sitemap_albums); 123 sitemap::generateCacheFile('sitemap-zenphoto-images' . $numberAppend, $sitemap_images); 124 if (extensionEnabled('zenpage')) { 125 sitemap::generateCacheFile('sitemap-zenpage-newsindex', $sitemap_newsindex); 126 sitemap::generateCacheFile('sitemap-zenpage-news', $sitemap_articles); 127 sitemap::generateCacheFile('sitemap-zenpage-categories', $sitemap_categories); 128 sitemap::generateCacheFile('sitemap-zenpage-pages', $sitemap_pages); 129 } 130 echo '</ul>'; 131 if (!empty($metaURL)) { 132 echo '<p><img src="../../images/ajax-loader.gif" alt="" /><br /><br />' . gettext('Sitemap files are being generated...Patience please.') . '</p>'; 133 } else { 134 sitemap::generateIndexCacheFile(); 135 ?> 136 <script type="text/javascript"> 137 // <!-- <![CDATA[ 138 $(document).ready(function() { 139 window.location = "<?php echo WEBPATH . '/' . ZENFOLDER . '/' . PLUGIN_FOLDER; ?>/sitemap-extended/sitemap-extended-admin.php"; 140 }); 141 // ]]> --> 142 </script> 143 <?php 144 } 145 } 146 ?> 147 </div><!-- tabbox --> 148 </div><!-- content --> 149 </div><!-- main --> 150 <?php printAdminFooter(); ?> 151</body> 152<?php echo "</html>"; ?> 153