function __construct() { if (!eZINI::instance('xrowsitemap.ini')->hasVariable('NewsSitemapSettings', 'Name')) { throw new Exception("Publication Name is required for news sitemap"); } $this->publication = array('name' => eZINI::instance('xrowsitemap.ini')->variable('NewsSitemapSettings', 'Name'), 'language' => xrowSitemapTools::language()); if (!eZINI::instance('xrowsitemap.ini')->hasVariable('NewsSitemapSettings', 'UseGenres') || eZINI::instance('xrowsitemap.ini')->hasVariable('NewsSitemapSettings', 'UseGenres') && eZINI::instance('xrowsitemap.ini')->variable('NewsSitemapSettings', 'UseGenres') != 'disable') { $this->genres = array('PressRelease'); } }
<?php $ini = eZINI::instance('site.ini'); $xrowsitemapINI = eZINI::instance('xrowsitemap.ini'); //getting custom set site access or default access if ($xrowsitemapINI->hasVariable('MobileSitemapSettings', 'AvailableSiteAccessList')) { $siteAccessArray = $xrowsitemapINI->variable('MobileSitemapSettings', 'AvailableSiteAccessList'); } else { $siteAccessArray = array($ini->variable('SiteSettings', 'DefaultAccess')); } if ($xrowsitemapINI->variable('Settings', 'MobileSitemap') == 'enabled') { if (!$isQuiet) { $cli->output("Generating Mobile Sitemaps...\n"); } xrowSitemapTools::siteaccessCallFunction($siteAccessArray, 'xrowSitemapTools::createMobileSitemap'); } xrowSitemapTools::ping();
private static function getSitemapImageItemFromDataMap(array $dataMap) { $images = array(); foreach ($dataMap as $attributeIdentifier => $attribute) { switch ($attribute->DataTypeString) { case 'ezimage': if ($attribute->hasContent()) { $imagedata = $attribute->content(); $image = new xrowSitemapItemImage(); $aliasdata = $imagedata->attribute('large'); $image->url = 'http://' . xrowSitemapTools::domain() . '/' . $aliasdata['url']; if ($imagedata->attribute('alternative_text')) { $image->caption = $imagedata->attribute('alternative_text'); } $images[] = $image; } break; } } return $images; }
<?php $ini = eZINI::instance('site.ini'); $xrowsitemapINI = eZINI::instance('xrowsitemap.ini'); $hostArrayWares = array(); //getting custom set site access or default access if ($xrowsitemapINI->hasVariable('SitemapSettings', 'AvailableSiteAccessList')) { $siteAccessArray = $xrowsitemapINI->variable('SitemapSettings', 'AvailableSiteAccessList'); } else { $siteAccessArray = array($ini->variable('SiteSettings', 'DefaultAccess')); } if ($xrowsitemapINI->hasVariable('SitemapSettings', 'HostUriMatchMapItems')) { $hostArrays = $xrowsitemapINI->variable('SitemapSettings', 'HostUriMatchMapItems'); } foreach ($hostArrays as $hostArray) { $hostArrayTemp = explode(";", $hostArray); if (!in_array($hostArrayTemp[0], $hostArrayWares)) { array_push($hostArrayWares, $hostArrayTemp[0]); } } if ($xrowsitemapINI->variable('Settings', 'Sitemap') == 'enabled') { if (!$isQuiet) { $cli->output("Generating Regular Sitemaps...\n"); } xrowSitemapTools::siteaccessCallFunction($siteAccessArray, 'xrowSitemapTools::createSitemap'); } foreach ($hostArrayWares as $hostArrayWare) { $cli->output("Submit Sitemap {$hostArrayWare} to Google and Bing.....\n"); xrowSitemapTools::ping($hostArrayWare); }
} else { $siteAccessArray = array($ini->variable('SiteSettings', 'DefaultAccess')); } // adding the mobile sitemap site accesses if ($xrowsitemapINI->hasVariable('MobileSitemapSettings', 'AvailableSiteAccessList')) { $siteAccessArray = array_merge($siteAccessArray, $xrowsitemapINI->variable('MobileSitemapSettings', 'AvailableSiteAccessList')); } $Module = $Params['Module']; $access = $GLOBALS['eZCurrentAccess']['name']; if (is_array($siteAccessArray) && count($siteAccessArray) > 0) { if (!in_array($access, $siteAccessArray)) { return $Module->handleError(eZError::KERNEL_ACCESS_DENIED, 'kernel'); } } $index = new xrowSitemapIndex(); $dirArray = array(eZSys::storageDirectory() . '/sitemap/' . xrowSitemapTools::domain(), eZSys::storageDirectory() . '/sitemap/' . xrowSitemapTools::domain() . '/' . xrowSitemapTools::FILETYP_ARCHIVE, eZSys::storageDirectory() . '/sitemap/' . xrowSitemapTools::domain() . '/' . xrowSitemapTools::FILETYP_STANDARD); foreach ($dirArray as $item) { addFiles($index, $item, $dirArray); } function addFiles(&$index, $dirname, $dirArray) { try { $dir = new eZClusterDirectoryIterator($dirname); } catch (Exception $e) { if ($e instanceof UnexpectedValueException) { eZDebug::writeDebug("Cannot add {$dirname} to the sitemaps index because it does not exist"); return; } } foreach ($dir as $file) { $f = eZClusterFileHandler::instance($file->name());
/** * Get the Sitemap's root node */ public static function rootNode() { $node_id = eZINI::instance('content.ini')->variable('NodeSettings', 'RootNode'); if (self::$rootNode === null || $node_id != self::$rootNode) { $rootNode = eZContentObjectTreeNode::fetch($node_id); if (!$rootNode instanceof eZContentObjectTreeNode) { throw new Exception("Invalid RootNode " . $node_id . " for Siteaccess " . $GLOBALS['eZCurrentAccess']['name'] . " \n"); } self::$rootNode = $rootNode; } return self::$rootNode; }
function addImage(eZContentObjectTreeNode $node) { $images = false; $ini = eZINI::instance('xrowsitemap.ini'); $dm = $node->attribute('data_map'); foreach ($dm as $attribute) { switch ($attribute->DataTypeString) { case 'ezimage': if ($attribute->hasContent()) { if ($images === false) { $images = array(); } $imagedata = $attribute->content(); $image = new xrowSitemapItemImage(); if ($ini->hasVariable('SitemapSettings', 'ImageAlias')) { $aliasdata = $imagedata->attribute($ini->variable('SitemapSettings', 'ImageAlias')); $image->url = 'http://' . xrowSitemapTools::domain() . '/' . $aliasdata['url']; } else { $aliasdata = $imagedata->attribute('original'); $image->url = 'http://' . xrowSitemapTools::domain() . '/' . $aliasdata['url']; } if ($imagedata->attribute('alternative_text')) { $image->caption = $imagedata->attribute('alternative_text'); } $image->title = $node->attribute('name'); $images[] = $image; } break; } } return $images; }