コード例 #1
0
 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');
     }
 }
コード例 #2
0
<?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();
コード例 #3
0
 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;
 }
コード例 #4
0
ファイル: sitemap.php プロジェクト: rantoniazzi/xrowmetadata
<?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);
}
コード例 #5
0
ファイル: index.php プロジェクト: rantoniazzi/xrowmetadata
} 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());
コード例 #6
0
 /**
  * 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;
 }
コード例 #7
0
 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;
 }