} while (is_object($var5) and method_exists($var5, 'templateValue')) { $var5 = $var5->templateValue(); } while (is_object($var5) and method_exists($var5, 'templateValue')) { $var5 = $var5->templateValue(); } $var1 = 'content/edit/' . $var3 . '/f/' . $var5; unset($var3, $var5); if (!isset($var1)) { $var1 = NULL; } while (is_object($var1) and method_exists($var1, 'templateValue')) { $var1 = $var1->templateValue(); } eZURI::transformURI($var1, false, eZURI::getTransformURIMode()); $var = $var1; unset($var1); if (!isset($var)) { $var = NULL; } while (is_object($var) and method_exists($var, 'templateValue')) { $var = $var->templateValue(); } $text .= $var; unset($var); $text .= '"> <img src="/design/standard/images/edit.gif" width="16" height="16" alt="Modifier" title="'; unset($var); unset($var1); unset($var3);
public static function addNode(xrowSitemap $sitemap, eZContentObjectTreeNode $node) { $site_ini = eZINI::instance('site.ini'); $ini = eZINI::instance('xrowsitemap.ini'); if (self::excludeNode($node)) { return false; } $extensions = array(); $meta = xrowMetaDataFunctions::fetchByNode($node); if ($meta and $meta->sitemap_use == '0') { return false; } elseif ($meta === false and $ini->variable('Settings', 'AlwaysAdd') == 'disabled') { return false; } /*if ( $ini->hasVariable( 'ExtraAttributeFilter_1', 'Value' ) ) { $offlineNummer = $ini->variable( 'ExtraAttributeFilter_1', 'Value' ); if(in_array($offlineNummer,$node->attribute('object')->attribute('state_id_array'))) { return false; } }*/ if ($ini->hasVariable('SitemapSettings', 'GalleryClasses') and $node->attribute('parent') instanceof eZContentObjectTreeNode and in_array($node->attribute('parent')->attribute('class_identifier'), $ini->variable('SitemapSettings', 'GalleryClasses')) and in_array($node->attribute('class_identifier'), $ini->variable('SitemapSettings', 'ImageClasses'))) { return false; } $extensions[] = new xrowSitemapItemModified($node->attribute('modified_subnode')); $url = $node->attribute('url_alias'); $urlAlias = $url; // $urlAlias is kept 'as is' to be able to generate these links eZURI::transformURI($urlAlias, true); if ($ini->hasVariable('SitemapSettings', 'CreateAlternateLink')) { if ($ini->hasVariable('SitemapSettings', 'MobileSiteAccessName') && $ini->hasVariable('SitemapSettings', 'MobileSiteAccessName') != '') { $mobileSiteAccess = $ini->variable('SitemapSettings', 'MobileSiteAccessName'); $mobileURL = 'http://' . self::domain() . '/' . $mobileSiteAccess . $urlAlias; } if ($ini->hasVariable('SitemapSettings', 'MobileDomainName') && $ini->hasVariable('SitemapSettings', 'MobileDomainName') != '') { $mobileDomain = $ini->variable('SitemapSettings', 'MobileDomainName'); $mobileURL = 'http://' . $mobileDomain . $urlAlias; } $extensions[] = new xrowSitemapItemAlternateLink($mobileURL); } $transformURIMode = eZURI::getTransformURIMode(); // force URL to be generated in 'full mode' if MatchOrder != uri if ($site_ini->variable('SiteAccessSettings', 'MatchOrder') != 'uri') { $transformURIMode = 'full'; } eZURI::transformURI($url, true, $transformURIMode); // only the URI mode is fully compatible with this $url generation if ($site_ini->variable('SiteAccessSettings', 'MatchOrder') == 'uri') { if ($site_ini->variable('SiteAccessSettings', 'RemoveSiteAccessIfDefaultAccess') == 'enabled' or $ini->variable('Settings', 'HideSiteaccessAlways') == 'true') { $url = 'http://' . self::domain() . $url; } else { $url = 'http://' . self::domain() . '/' . $GLOBALS['eZCurrentAccess']['name'] . $url; } } if ($ini->hasVariable('SitemapSettings', 'GalleryClasses') and in_array($node->attribute('class_identifier'), $ini->variable('SitemapSettings', 'GalleryClasses'))) { $imageextensions = self::fetchImages($node); if (!empty($imageextensions)) { $extensions = array_merge($extensions, $imageextensions); } } if ($ini->hasVariable('SitemapSettings', 'VideoClasses') and in_array($node->attribute('class_identifier'), $ini->variable('SitemapSettings', 'VideoClasses'))) { $extensions[] = self::getVideoConverter()->addVideo($node); } if ($meta and $meta->change) { $extensions[] = new xrowSitemapItemFrequency($meta->change); } if ($meta and $meta->priority !== null) { $extensions[] = new xrowSitemapItemPriority($meta->priority); } elseif (self::addPriority()) { $rootDepth = self::rootNode()->attribute('depth'); $prio = 1 - ($node->attribute('depth') - $rootDepth) / 10; if ($prio > 0) { $extensions[] = new xrowSitemapItemPriority($prio); } } $sitemap->add($url, $extensions); }
function urlTransformation( $operatorName, &$node, $tpl, &$resourceData, $element, $lastElement, $elementList, $elementTree, &$parameters ) { $ini = eZINI::instance(); $shareTemplates = $ini->hasVariable( 'TemplateSettings', 'ShareCompiledTemplates' ) ? $ini->variable( 'TemplateSettings', 'ShareCompiledTemplates' ) == 'enabled' : false; $useTmp = false; $newElements = array(); $values = array(); $paramCount = 0; $tmpCount = 0; switch( $operatorName ) { case $this->URLName: { if ( !$shareTemplates && eZTemplateNodeTool::isConstantElement( $parameters[0] ) ) { $url = eZTemplateNodeTool::elementConstantValue( $parameters[0] ); $serverURL = isset( $parameters[2] ) ? eZTemplateNodeTool::elementConstantValue( $parameters[2] ) : eZURI::getTransformURIMode(); eZURI::transformURI( $url, false, $serverURL ); $url = $this->applyQuotes( $url, $parameters[1] ); return array( eZTemplateNodeTool::createStringElement( $url ) ); } else if ( $shareTemplates && eZTemplateNodeTool::isConstantElement( $parameters[0] ) ) { $url = eZTemplateNodeTool::elementConstantValue( $parameters[0] ); $values[] = array( eZTemplateNodeTool::createStringElement( $url ) ); if ( isset( $parameters[2] ) ) { $values[] = $parameters[2]; $parameter = "%2%"; } else { $parameter = "eZURI::getTransformURIMode()"; } $code = <<<CODEPIECE %tmp1% = %1%; eZURI::transformURI( %tmp1%, false, $parameter ); CODEPIECE; unset( $parameter ); $useTmp = true; ++$tmpCount; } else { $values[] = $parameters[0]; if ( isset( $parameters[2] ) ) { $values[] = $parameters[2]; $parameter = "%2%"; } else { $parameter = "eZURI::getTransformURIMode()"; } $code = <<<CODEPIECE eZURI::transformURI( %1%, false, $parameter ); CODEPIECE; unset( $parameter ); } ++$paramCount; } break; case $this->URLRootName: { if ( !$shareTemplates && eZTemplateNodeTool::isConstantElement( $parameters[0] ) ) { $url = eZTemplateNodeTool::elementConstantValue( $parameters[0] ); if ( preg_match( "#^[a-zA-Z0-9]+:#", $url ) or substr( $url, 0, 2 ) == '//' ) $url = '/'; else if ( strlen( $url ) > 0 and $url[0] != '/' ) $url = '/' . $url; $serverURL = isset( $parameters[2] ) ? eZTemplateNodeTool::elementConstantValue( $parameters[2] ) : eZURI::getTransformURIMode(); // Same as "ezurl" without "index.php" and the siteaccess name in the returned address. eZURI::transformURI( $url, true, $serverURL ); $url = $this->applyQuotes( $url, $parameters[1] ); return array( eZTemplateNodeTool::createStringElement( $url ) ); } else if ( $shareTemplates && eZTemplateNodeTool::isConstantElement( $parameters[0] ) ) { $url = eZTemplateNodeTool::elementConstantValue( $parameters[0] ); $values[] = array( eZTemplateNodeTool::createStringElement( $url ) ); if ( isset( $parameters[2] ) ) { $values[] = $parameters[2]; $parameter = "%2%"; } else { $parameter = "eZURI::getTransformURIMode()"; } $code = '%tmp1% = %1%;'; $code .= 'if ( preg_match( "#^[a-zA-Z0-9]+:#", %tmp1% ) or' . "\n" . 'substr( %tmp1%, 0, 2 ) == \'//\' )' . "\n" . ' %tmp1% = \'/\';' . "\n" . 'else if ( strlen( %tmp1% ) > 0 and' . "\n" . ' %tmp1%[0] != \'/\' )' . "\n" . '%tmp1% = \'/\' . %tmp1%;' . "\n"; $code .= "eZURI::transformURI( %tmp1%, true, $parameter );\n"; unset( $parameter ); $useTmp = true; ++$tmpCount; } else { $values[] = $parameters[0]; if ( isset( $parameters[2] ) ) { $values[] = $parameters[2]; $parameter = "%2%"; } else { $parameter = "eZURI::getTransformURIMode()"; } $code = 'if ( preg_match( "#^[a-zA-Z0-9]+:#", %1% ) or' . "\n" . 'substr( %1%, 0, 2 ) == \'//\' )' . "\n" . ' %1% = \'/\';' . "\n" . 'else if ( strlen( %1% ) > 0 and' . "\n" . ' %1%[0] != \'/\' )' . "\n" . '%1% = \'/\' . %1%;' . "\n"; $code .= "eZURI::transformURI( %1%, true, $parameter );\n"; unset( $parameter ); } ++$paramCount; } break; case $this->SysName: { if ( !$shareTemplates && eZTemplateNodeTool::isConstantElement( $parameters[1] ) ) { $sysAttribute = eZTemplateNodeTool::elementConstantValue( $parameters[1] ); return array( eZTemplateNodeTool::createStringElement( $this->Sys->attribute( $sysAttribute ) ) ); } return false; } break; case $this->DesignName: { if ( !$shareTemplates && eZTemplateNodeTool::isConstantElement( $parameters[0] ) ) { $path = eZTemplateNodeTool::elementConstantValue( $parameters[0] ); $path = $this->eZDesign( $tpl, $path, $operatorName ); $path = $this->applyQuotes( $path, $parameters[1] ); return array( eZTemplateNodeTool::createStringElement( $path ) ); } else if ( $shareTemplates && eZTemplateNodeTool::isConstantElement( $parameters[0] ) ) { $path = eZTemplateNodeTool::elementConstantValue( $parameters[0] ); $values[] = array( eZTemplateNodeTool::createStringElement( $path ) ); $code = ( '%tmp1% = %1%;' . "\n" . '%tmp1% = eZURLOperator::eZDesign( $tpl, %tmp1%, "' . $operatorName . '" );' . "\n" ); $useTmp = true; ++$tmpCount; } else { $values[] = $parameters[0]; $code = ( '%1% = eZURLOperator::eZDesign( $tpl, %1%, "' . $operatorName . '" );' . "\n" ); } ++$paramCount; } break; case $this->ImageName: { $skipSlash = count( $parameters ) > 2 ? eZTemplateNodeTool::elementConstantValue( $parameters[2] ) == true : false; if ( !$shareTemplates && eZTemplateNodeTool::isConstantElement( $parameters[0] ) ) { $path = eZTemplateNodeTool::elementConstantValue( $parameters[0] ); $path = eZURLOperator::eZImage( $tpl, $path, $operatorName, $skipSlash ); $path = $this->applyQuotes( $path, $parameters[1] ); return array( eZTemplateNodeTool::createStringElement( $path ) ); } else if ( $shareTemplates && eZTemplateNodeTool::isConstantElement( $parameters[0] ) ) { $path = eZTemplateNodeTool::elementConstantValue( $parameters[0] ); $values[] = array( eZTemplateNodeTool::createStringElement( $path ) ); $values[] = array( eZTemplateNodeTool::createBooleanElement( $skipSlash ) ); $code = ( '%tmp1% = %1%;' . "\n" . '%tmp1% = eZURLOperator::eZImage( $tpl, %tmp1%, "' . $operatorName . '", %2% );' . "\n" ); $useTmp = true; ++$tmpCount; } else { $values[] = $parameters[0]; $values[] = array( eZTemplateNodeTool::createBooleanElement( $skipSlash ) ); $code = ( '%1% = eZURLOperator::eZImage( $tpl, %1%, "' . $operatorName . '", %2% );' . "\n" ); } ++$paramCount; } break; case $this->ExtName: { if ( !$shareTemplates && eZTemplateNodeTool::isConstantElement( $parameters[0] ) ) { $origUrl = eZTemplateNodeTool::elementConstantValue( $parameters[0] ); $url = eZURL::urlByMD5( md5( $origUrl ) ); if ( $url == false ) eZURL::registerURL( $origUrl ); else $origUrl = $url; $origUrl = $this->applyQuotes( $origUrl, $parameters[1] ); return array( eZTemplateNodeTool::createStringElement( $origUrl ) ); } else if ( $shareTemplates && eZTemplateNodeTool::isConstantElement( $parameters[0] ) ) { $origUrl = eZTemplateNodeTool::elementConstantValue( $parameters[0] ); $values[] = array( eZTemplateNodeTool::createStringElement( $origUrl ) ); $code .= '%tmp1% = %1%; ' . "\n" . '%tmp2% = eZURL::urlByMD5( md5( %tmp1% ) );' . "\n" . 'if ( %tmp2% == false )' . "\n" . ' eZURL::registerURL( %tmp1% );' . "\n" . 'else' . "\n" . ' %tmp1% = %tmp2%;' . "\n"; ++$tmpCount; $useTmp = true; } else { $values[] = $parameters[0]; $code .= '%tmp1% = eZURL::urlByMD5( md5( %1% ) );' . "\n" . 'if ( %tmp1% == false )' . "\n" . ' eZURL::registerURL( %1% );' . "\n" . 'else' . "\n" . ' %1% = %tmp1%;' . "\n"; } ++$tmpCount; ++$paramCount; } break; } $http = eZHTTPTool::instance(); if ( isset( $http->UseFullUrl ) and $http->UseFullUrl ) { ++$tmpCount; $code .= '%tmp' . $tmpCount . '% = eZHTTPTool::instance();' . "\n" . 'if ( isset( %tmp' . $tmpCount . '%->UseFullUrl ) and %tmp' . $tmpCount . '%->UseFullUrl ' . "\n" . ' and strncasecmp( %1%, \'/\' , 1 ) === 0 ) // do not prepend the site path if it\'s not a http url%'. "\n" . '{' . "\n" . ' %1% = %tmp' . $tmpCount . '%->createRedirectUrl( %1%, array( \'pre_url\' => false ) );' . "\n" . '}' . "\n"; } if ( count( $parameters ) > $paramCount ) { if ( eZTemplateNodeTool::isConstantElement( $parameters[$paramCount] ) ) { $quote = '"'; $val = eZTemplateNodeTool::elementConstantValue( $parameters[$paramCount] ); ++$paramCount; if ( $val == 'single' ) $quote = "'"; else if ( $val == 'no' ) $quote = false; if ( $quote !== false ) { $values[] = array( eZTemplateNodeTool::createStringElement( $quote ) ); if ( $useTmp ) { $code .= '%tmp1% = %' . count( $values ) . '% . %tmp1% . %' . count( $values ) . '%;' . "\n"; } else { $code .= '%1% = %' . count( $values ) . '% . %1% . %' . count( $values ) . '%;' . "\n"; } } } else { $values[] = $parameters[$paramCount]; if ( $useTmp ) { $code .= 'switch (%' . count( $values ) . '%)' . "\n" . '{' . "\n" . ' case \'single\':' . "\n" . ' %tmp1% = \'\\\'\' . %tmp1% . \'\\\'\' ;' . "\n" . ' break;' . "\n" . ' case \'no\':' . "\n" . ' break;' . "\n" . ' default:' . "\n" . ' %tmp1 = \'"\' . %tmp1% . \'"\' ;' . "\n" . '}' . "\n"; } else { $code .= 'switch (%' . count( $values ) . '%)' . "\n" . '{' . "\n" . ' case \'single\':' . "\n" . ' %1% = \'\\\'\' . %1% . \'\\\'\' ;' . "\n" . ' break;' . "\n" . ' case \'no\':' . "\n" . ' break;' . "\n" . ' default:' . "\n" . ' %1% = \'"\' . %1% . \'"\' ;' . "\n" . '}' . "\n"; } } } else { $quote = '"'; $values[] = array( eZTemplateNodeTool::createStringElement( $quote ) ); if ( $useTmp ) { $code .= '%tmp1% = %' . count( $values ) . '% . %tmp1% . %' . count( $values ) . '%;' . "\n"; } else { $code .= '%1% = %' . count( $values ) . '% . %1% . %' . count( $values ) . '%;' . "\n"; } } if ( $useTmp ) { $code .= '%output% = %tmp1%;' . "\n"; } else { $code .= '%output% = %1%;' . "\n"; } $newElements[] = eZTemplateNodeTool::createCodePieceElement( $code, $values, false, $tmpCount ); return $newElements; }
$var1 = NULL; } while (is_object($var1) and method_exists($var1, 'templateValue')) { $var1 = $var1->templateValue(); } while (is_object($var1) and method_exists($var1, 'templateValue')) { $var1 = $var1->templateValue(); } if (preg_match("#^[a-zA-Z0-9]+:#", $var1) or substr($var1, 0, 2) == '//') { $var1 = '/'; } else { if (strlen($var1) > 0 and $var1[0] != '/') { $var1 = '/' . $var1; } } eZURI::transformURI($var1, true, eZURI::getTransformURIMode()); $var1 = '"' . $var1 . '"'; $var = $var1; unset($var1); if (!isset($var)) { $var = NULL; } while (is_object($var) and method_exists($var, 'templateValue')) { $var = $var->templateValue(); } $text .= $var; unset($var); $text .= ' width="'; unset($var); unset($var); $var = (array_key_exists($rootNamespace, $vars) and array_key_exists('image', $vars[$rootNamespace])) ? $vars[$rootNamespace]['image'] : null;