135 lines
4.3 KiB
Text
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"> </td>');
|
|
document.writeln('<td rowspan="999" class="small"> </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>
|