antville/code/Story/$Story.skin

135 lines
4.3 KiB
Text

<% #top %>
<tr>
<td align="right" valign="baseline" class="small"><% param.position %></td>
<td align="right" valign="baseline"><% story.requests %></td>
<td valign="baseline" style="white-space: nowrap"><% story.created "yyyy-MM-dd" %></td>
<td valign="baseline"><% story.title | default <% story.text | clip 5 %> | story.link %></td>
<td valign="baseline"><% story.creator %></td>
</tr>
<% #listItem %>
<div class="listSeparator"> </div>
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<% if <% story.status %> is closed then
<% listItemFlag <% gettext closed %> %>
else <% if <% story.mode %> is hidden then
<% listItemFlag <% gettext hidden %> %> %>
%>
<td class="small">
<strong><% gettext Macro suffix=: %></strong> <% story.macro %><br />
<div class="ample"><strong><% gettext Status suffix=: %></strong>
<% gettext <% story.status %> %><% story.tags link prefix=<% gettext in
context=preposition prefix=" " suffix=" " %> %><% story.comments link prefix="; " %></div>
</td>
<td rowspan="2" width="10" nowrap="nowrap"> </td>
<td rowspan="2" align="right" class="small">
<% story.link edit <% gettext Edit %> prefix='<div class="nowrap">... ' suffix="</div>" %>
<% story.link main <% gettext View context=verb %> prefix='<div class="nowrap">... ' suffix="</div>" %>
<% story.link rotate prefix='<div class="nowrap">... ' suffix="</div>" %>
<% story.link delete <% gettext Delete %> prefix='<div class="nowrap">... ' suffix="</div>"%>
</td>
</tr>
<tr valign="top">
<td>
<div class="storyTitle"><% story.title %></div>
<div class="storyDate"><% gettext "{0} on {1}" <% story.creator link %>
<% story.created short %> %></div>
<% story.text | clip %>
</td>
</tr>
</table>
<% #referrer %>
referrers.push(new Antville.Referrer("<% param.referrer %>",
"<% param.text %>", <% param.requests %>));
<% #referrers %>
<a name="backlinks" id="backlinks"></a><br />
<table border="0" cellspacing="0" cellpadding="1">
<script type="text/javascript">
var referrers = [];
<% param.referrers %>
var query = new Antville.Query();
var spamFilter = new Antville.Filter([<% site.spamfilter %>]);
var searchFilter = new Antville.Filter(query.filter);
var searchEngineFilters = [
new Antville.Filter("http:\/\/.*google.*\?", "q"),
new Antville.Filter("http:\/\/.*bing.*\?", "q"),
new Antville.Filter("http:\/\/.*altavista.*\?", "q"),
new Antville.Filter("http:\/\/.*search\.yahoo.*\?", "p"),
];
var cnt = 0;
var prefix = "<em>Search request:</em> ";
for (var i in referrers) {
var ref = referrers[i];
var text = ref.text;
if (spamFilter.test(ref.url)) {
continue;
}
if (query.filter && !searchFilter.test(ref.url)) {
continue;
}
for (var e in searchEngineFilters) {
var filter = searchEngineFilters[e];
if (filter.test(ref.url)) {
text = ref.compose(filter.key, prefix);
break;
}
}
if (++cnt == 1) {
document.writeln('<tr>');
document.writeln('<td align="right" class="small">&nbsp;</td>');
document.writeln('<td rowspan="999" class="small">&nbsp;&nbsp;</td>');
document.writeln('<td class="small"><strong><% gettext Backlinks %></strong></td>');
document.writeln('</tr>');
}
document.writeln('<tr>');
document.writeln('<td align="right" valign="top" class="small">',
ref.count, '</td>');
document.writeln('<td class="small"><a href="', ref.url, '">',
text, '</a></td>');
document.writeln('</tr>');
}
</script>
<noscript>
<tr>
<td colspan="3">
<% site.skin $Site#noscript %>
</td>
</tr>
</noscript>
</table>
<% #restore %>
<script type="text/javascript">
$(function() {
var url = "<% site.href backup.js %>";
var input = $(".backup :input");
if (!"<% session.backup %>") {
$("#restore").hide();
} else {
$("#restore").click(function() {
$(this).hide();
var data = $.get(url, null, function(data) {
$.each(data, function(key, item) {
$("#" + key).val(item);
});
}, "json");
});
}
input.blur(function() {
$("#restore").hide();
var data = {};
input.each(function() {
var ref = $(this);
data[ref.attr("id")] = $.trim(ref.val());
});
$.post(url, data);
return;;
});
return;
});
</script>