本文整理汇总了PHP中Contao\StringUtil::resolveFlaggedUrl方法的典型用法代码示例。如果您正苦于以下问题:PHP StringUtil::resolveFlaggedUrl方法的具体用法?PHP StringUtil::resolveFlaggedUrl怎么用?PHP StringUtil::resolveFlaggedUrl使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Contao\StringUtil
的用法示例。
在下文中一共展示了StringUtil::resolveFlaggedUrl方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: replaceDynamicScriptTags
/**
* Replace the dynamic script tags (see #4203)
*
* @param string $strBuffer The string with the tags to be replaced
*
* @return string The string with the replaced tags
*/
public static function replaceDynamicScriptTags($strBuffer)
{
// HOOK: add custom logic
if (isset($GLOBALS['TL_HOOKS']['replaceDynamicScriptTags']) && is_array($GLOBALS['TL_HOOKS']['replaceDynamicScriptTags'])) {
foreach ($GLOBALS['TL_HOOKS']['replaceDynamicScriptTags'] as $callback) {
$strBuffer = static::importStatic($callback[0])->{$callback[1]}($strBuffer);
}
}
$arrReplace = array();
$strScripts = '';
// Add the internal jQuery scripts
if (!empty($GLOBALS['TL_JQUERY']) && is_array($GLOBALS['TL_JQUERY'])) {
foreach (array_unique($GLOBALS['TL_JQUERY']) as $script) {
$strScripts .= "\n" . trim($script) . "\n";
}
}
$arrReplace['[[TL_JQUERY]]'] = $strScripts;
$strScripts = '';
// Add the internal MooTools scripts
if (!empty($GLOBALS['TL_MOOTOOLS']) && is_array($GLOBALS['TL_MOOTOOLS'])) {
foreach (array_unique($GLOBALS['TL_MOOTOOLS']) as $script) {
$strScripts .= "\n" . trim($script) . "\n";
}
}
$arrReplace['[[TL_MOOTOOLS]]'] = $strScripts;
$strScripts = '';
// Add the internal <body> tags
if (!empty($GLOBALS['TL_BODY']) && is_array($GLOBALS['TL_BODY'])) {
foreach (array_unique($GLOBALS['TL_BODY']) as $script) {
$strScripts .= trim($script) . "\n";
}
}
$arrReplace['[[TL_BODY]]'] = $strScripts;
$strScripts = '';
$objCombiner = new \Combiner();
// Add the CSS framework style sheets
if (!empty($GLOBALS['TL_FRAMEWORK_CSS']) && is_array($GLOBALS['TL_FRAMEWORK_CSS'])) {
foreach (array_unique($GLOBALS['TL_FRAMEWORK_CSS']) as $stylesheet) {
$objCombiner->add($stylesheet);
}
}
// Add the internal style sheets
if (!empty($GLOBALS['TL_CSS']) && is_array($GLOBALS['TL_CSS'])) {
foreach (array_unique($GLOBALS['TL_CSS']) as $stylesheet) {
$options = \StringUtil::resolveFlaggedUrl($stylesheet);
if ($options->static) {
if ($options->mtime === null) {
$options->mtime = filemtime(TL_ROOT . '/' . $stylesheet);
}
$objCombiner->add($stylesheet, $options->mtime, $options->media);
} else {
$strScripts .= \Template::generateStyleTag(static::addStaticUrlTo($stylesheet), $options->media) . "\n";
}
}
}
// Add the user style sheets
if (!empty($GLOBALS['TL_USER_CSS']) && is_array($GLOBALS['TL_USER_CSS'])) {
foreach (array_unique($GLOBALS['TL_USER_CSS']) as $stylesheet) {
$options = \StringUtil::resolveFlaggedUrl($stylesheet);
if ($options->static) {
$objCombiner->add($stylesheet, $options->mtime, $options->media);
} else {
$strScripts .= \Template::generateStyleTag(static::addStaticUrlTo($stylesheet), $options->media) . "\n";
}
}
}
// Create the aggregated style sheet
if ($objCombiner->hasEntries()) {
$strScripts .= \Template::generateStyleTag($objCombiner->getCombinedFile(), 'all') . "\n";
}
$arrReplace['[[TL_CSS]]'] = $strScripts;
$strScripts = '';
// Add the internal scripts
if (!empty($GLOBALS['TL_JAVASCRIPT']) && is_array($GLOBALS['TL_JAVASCRIPT'])) {
$objCombiner = new \Combiner();
$objCombinerAsync = new \Combiner();
foreach (array_unique($GLOBALS['TL_JAVASCRIPT']) as $javascript) {
$options = \StringUtil::resolveFlaggedUrl($javascript);
if ($options->static) {
if ($options->mtime === null) {
$options->mtime = filemtime(TL_ROOT . '/' . $javascript);
}
$options->async ? $objCombinerAsync->add($javascript, $options->mtime) : $objCombiner->add($javascript, $options->mtime);
} else {
$strScripts .= \Template::generateScriptTag(static::addStaticUrlTo($javascript), $options->async) . "\n";
}
}
// Create the aggregated script and add it before the non-static scripts (see #4890)
if ($objCombiner->hasEntries()) {
$strScripts = \Template::generateScriptTag($objCombiner->getCombinedFile()) . "\n" . $strScripts;
}
if ($objCombinerAsync->hasEntries()) {
$strScripts = \Template::generateScriptTag($objCombinerAsync->getCombinedFile(), true) . "\n" . $strScripts;
//.........这里部分代码省略.........
示例2: replaceDynamicScriptTags
/**
* Replace the dynamic script tags (see #4203)
*
* @param string $strBuffer The string with the tags to be replaced
*
* @return string The string with the replaced tags
*/
public static function replaceDynamicScriptTags($strBuffer)
{
// HOOK: add custom logic
if (isset($GLOBALS['TL_HOOKS']['replaceDynamicScriptTags']) && is_array($GLOBALS['TL_HOOKS']['replaceDynamicScriptTags'])) {
foreach ($GLOBALS['TL_HOOKS']['replaceDynamicScriptTags'] as $callback) {
$strBuffer = static::importStatic($callback[0])->{$callback}[1]($strBuffer);
}
}
$arrReplace = array();
$strScripts = '';
// Add the internal jQuery scripts
if (!empty($GLOBALS['TL_JQUERY']) && is_array($GLOBALS['TL_JQUERY'])) {
foreach (array_unique($GLOBALS['TL_JQUERY']) as $script) {
$strScripts .= "\n" . trim($script) . "\n";
}
}
$arrReplace['[[TL_JQUERY]]'] = $strScripts;
$strScripts = '';
// Add the internal MooTools scripts
if (!empty($GLOBALS['TL_MOOTOOLS']) && is_array($GLOBALS['TL_MOOTOOLS'])) {
foreach (array_unique($GLOBALS['TL_MOOTOOLS']) as $script) {
$strScripts .= "\n" . trim($script) . "\n";
}
}
$arrReplace['[[TL_MOOTOOLS]]'] = $strScripts;
$strScripts = '';
// Add the internal <body> tags
if (!empty($GLOBALS['TL_BODY']) && is_array($GLOBALS['TL_BODY'])) {
foreach (array_unique($GLOBALS['TL_BODY']) as $script) {
$strScripts .= trim($script) . "\n";
}
}
// Command scheduler
if (!\Config::get('disableCron')) {
$strScripts .= "\n" . \Template::generateInlineScript('setTimeout(function(){var e=function(e,t){try{var n=new XMLHttpRequest}catch(r){return}n.open("GET",e,!0),n.onreadystatechange=function(){this.readyState==4&&this.status==200&&typeof t=="function"&&t(this.responseText)},n.send()},t="system/cron/cron.";e(t+"txt",function(n){parseInt(n||0)<Math.round(+(new Date)/1e3)-' . \Frontend::getCronTimeout() . '&&e(t+"php")})},5e3);') . "\n";
}
$arrReplace['[[TL_BODY]]'] = $strScripts;
$strScripts = '';
$objCombiner = new \Combiner();
// Add the CSS framework style sheets
if (!empty($GLOBALS['TL_FRAMEWORK_CSS']) && is_array($GLOBALS['TL_FRAMEWORK_CSS'])) {
foreach (array_unique($GLOBALS['TL_FRAMEWORK_CSS']) as $stylesheet) {
$objCombiner->add($stylesheet);
}
}
// Add the internal style sheets
if (!empty($GLOBALS['TL_CSS']) && is_array($GLOBALS['TL_CSS'])) {
foreach (array_unique($GLOBALS['TL_CSS']) as $stylesheet) {
$options = \StringUtil::resolveFlaggedUrl($stylesheet);
if ($options->static) {
$objCombiner->add($stylesheet, $options->mtime, $options->media);
} else {
$strScripts .= \Template::generateStyleTag(static::addStaticUrlTo($stylesheet), $options->media) . "\n";
}
}
}
// Add the user style sheets
if (!empty($GLOBALS['TL_USER_CSS']) && is_array($GLOBALS['TL_USER_CSS'])) {
foreach (array_unique($GLOBALS['TL_USER_CSS']) as $stylesheet) {
$options = \StringUtil::resolveFlaggedUrl($stylesheet);
if ($options->static) {
$objCombiner->add($stylesheet, $options->mtime, $options->media);
} else {
$strScripts .= \Template::generateStyleTag(static::addStaticUrlTo($stylesheet), $options->media) . "\n";
}
}
}
// Create the aggregated style sheet
if ($objCombiner->hasEntries()) {
$strScripts .= \Template::generateStyleTag($objCombiner->getCombinedFile(), 'all') . "\n";
}
$arrReplace['[[TL_CSS]]'] = $strScripts;
$strScripts = '';
// Add the internal scripts
if (!empty($GLOBALS['TL_JAVASCRIPT']) && is_array($GLOBALS['TL_JAVASCRIPT'])) {
$objCombiner = new \Combiner();
$objCombinerAsync = new \Combiner();
foreach (array_unique($GLOBALS['TL_JAVASCRIPT']) as $javascript) {
$options = \StringUtil::resolveFlaggedUrl($javascript);
if ($options->static) {
if ($options->async) {
$objCombinerAsync->add($javascript, $options->mtime);
} else {
$objCombiner->add($javascript, $options->mtime);
}
} else {
$strScripts .= \Template::generateScriptTag(static::addStaticUrlTo($javascript), $options->async) . "\n";
}
}
// Create the aggregated script and add it before the non-static scripts (see #4890)
if ($objCombiner->hasEntries()) {
$strScripts = \Template::generateScriptTag($objCombiner->getCombinedFile()) . "\n" . $strScripts;
}
//.........这里部分代码省略.........
示例3: resolveFlaggedUrl
/**
* Resolve a flagged URL such as assets/js/core.js|static|10184084.
*
* @param string $url The URL.
*
* @return \stdClass The options object
*/
public static function resolveFlaggedUrl(&$url)
{
if (self::isStringUtilAvailable()) {
return StringUtil::resolveFlaggedUrl($url);
}
return \Contao\String::resolveFlaggedUrl($url);
}