$data['last_update'] = $this->getLatestDateFormatted();
$data['show_dates'] = !$this->hideDates || $this->isLoggedIn;
// Remove leading slash from REQUEST_URI.
- $data['self_link'] = $pageaddr . escape(ltrim($this->serverInfo['REQUEST_URI'], '/'));
+ $data['self_link'] = escape(server_url($this->serverInfo))
+ . escape($this->serverInfo['REQUEST_URI']);
$data['index_url'] = $pageaddr;
$data['usepermalinks'] = $this->usePermalinks === true;
$data['links'] = $linkDisplayed;
$this->assertEquals(ReferenceLinkDB::$NB_LINKS_TOTAL, count($data['links']));
$this->assertEquals('http://pubsubhub.io', $data['pubsubhub_url']);
}
+
+ /**
+ * Test buildData when Shaarli is served from a subdirectory
+ */
+ public function testBuildDataServerSubdir()
+ {
+ $serverInfo = array(
+ 'HTTPS' => 'Off',
+ 'SERVER_NAME' => 'host.tld',
+ 'SERVER_PORT' => '8080',
+ 'SCRIPT_NAME' => '/~user/shaarli/index.php',
+ 'REQUEST_URI' => '/~user/shaarli/index.php?do=feed',
+ );
+ $feedBuilder = new FeedBuilder(
+ self::$linkDB,
+ FeedBuilder::$FEED_ATOM,
+ $serverInfo,
+ null,
+ false
+ );
+ $feedBuilder->setLocale(self::$LOCALE);
+ $data = $feedBuilder->buildData();
+
+ $this->assertEquals(
+ 'http://host.tld:8080/~user/shaarli/index.php?do=feed',
+ $data['self_link']
+ );
+
+ // Test first link (note link)
+ $link = array_shift($data['links']);
+ $this->assertEquals('http://host.tld:8080/~user/shaarli/?WDWyig', $link['guid']);
+ $this->assertEquals('http://host.tld:8080/~user/shaarli/?WDWyig', $link['url']);
+ }
}
<div class="clear"></div>
{if="$linksToDisplay"}
- {loop="cols"}
+ {loop="$cols"}
{if="isset($value[0])"}
<div id="daily_col{$counter+1}">
- {loop="value"}
+ {loop="$value"}
{$link=$value}
<div class="dailyEntry">
<div class="dailyEntryPermalink">
{/if}
{if="$link.tags"}
<div class="dailyEntryTags">
- {loop="link.taglist"}
+ {loop="$link.taglist"}
{$value} -
{/loop}
</div>
<link>{$absurl}</link>
<pubDate>{$rssdate}</pubDate>
<description><![CDATA[
- {loop="links"}
+ {loop="$links"}
<h3><a href="{$value.url}">{$value.title}</a></h3>
<small>{if="!$hide_timestamps"}{function="strftime('%c', $value.timestamp)"} - {/if}{if="$value.tags"}{$value.tags}{/if}<br>
{$value.url}</small><br>
Do Not Edit! -->{ignore}The RainTPL loop is formatted to avoid generating extra newlines{/ignore}
<TITLE>{$pagetitle}</TITLE>
<H1>Shaarli export of {$selection} bookmarks on {$date}</H1>
-<DL><p>{loop="links"}
+<DL><p>{loop="$links"}
<DT><A HREF="{$value.url}" ADD_DATE="{$value.timestamp}" PRIVATE="{$value.private}" TAGS="{$value.taglist}">{$value.title}</A>{if="$value.description"}{$eol}<DD>{$value.description}{/if}{/loop}
</DL><p>
</author>
<id>{$index_url}</id>
<generator>Shaarli</generator>
- {loop="links"}
+ {loop="$links"}
<entry>
<title>{$value.title}</title>
{if="$usepermalinks"}
<!-- PubSubHubbub Discovery -->
<atom:link rel="hub" href="{$pubsubhub_url}" />
{/if}
- {loop="links"}
+ {loop="$links"}
<item>
<title>{$value.title}</title>
<guid isPermaLink="{if="$usepermalinks"}true{else}false{/if}">{$value.guid}</guid>
</div>
{/if}
<ul>
- {loop="links"}
+ {loop="$links"}
<li{if="$value.class"} class="{$value.class}"{/if}>
<a id="{$value.shorturl}"></a>
<div class="thumbnail">{$value.url|thumbnail}</div>
<a href="{$value.real_url}"><span class="linkurl" title="Short link">{$value.url}</span></a><br>
{if="$value.tags"}
<div class="linktaglist">
- {loop="value.taglist"}<span class="linktag" title="Add tag"><a href="?addtag={$value|urlencode}">{$value}</a></span> {/loop}
+ {loop="$value.taglist"}<span class="linktag" title="Add tag"><a href="?addtag={$value|urlencode}">{$value}</a></span> {/loop}
</div>
{/if}
{if="!empty($plugin_errors) && isLoggedIn()"}
<ul class="errors">
- {loop="plugin_errors"}
+ {loop="$plugin_errors"}
<li>{$value}</li>
{/loop}
</ul>
<div class="center">
<div id="picwall_container">
- {loop="linksToDisplay"}
+ {loop="$linksToDisplay"}
<div class="picwall_pictureframe">
{$value.thumbnail}<a href="{$value.real_url}"><span class="info">{$value.title}</span></a>
{loop="$value.picwall_plugin"}
</div>
<div id="cloudtag">
- {loop="tags"}
+ {loop="$tags"}
<span class="count">{$value.count}</span><a
href="?searchtags={$key|urlencode}" style="font-size:{$value.size}em;">{$key}</a>
{loop="$value.tag_plugin"}