Join our Folding@Home team:
Main F@H site
Our team page
Covers transactions:
2020-01-01 00:00:00 ..
2020-06-30 21:00:33 UTC
(SPIDs: [1207..1407])
Last Update:
2020-07-01 02:02:58 UTC
--martyb
Support us: Subscribe Here
and buy SoylentNews Swag
We always have a place for talented people, visit the Get Involved section on the wiki to see how you can make SoylentNews better.
Covers transactions:
2020-01-01 00:00:00 ..
2020-01-31 06:46:05 UTC
(SPIDs: [1207..1216])
Last Update:
2020-01-31 12:48:47 UTC
--martyb
Loading the recent_subs page currently shows all subscriptions. Here is the template(default;admin;recent_subs) before making any changes.
NOTE: Slashcode converts tabs and runs of spaces into something like: " "
[% PROCESS titlebar title="Recent Subscription Payments" %]
<div class="generalbody">
[% IF startat > 0;
next_startat = startat - 30;
IF next_startat < 0; next_startat = 0; END; %]
<form action="[% gSkin.rootdir %]/admin.pl" method="get">
<input type="hidden" name="op" value="recent_subs">
<input type="hidden" name="startat" value="[% next_startat | strip_attribute %]">
<input type="submit" value="<< Next Sub Payments">
</form>
[% END %]<table>
<tr>
<th>spid</th>
<th>user</th>
<th>email</th>
<th>ts</th>
<th>payment_net</th>
<th>payment_gross</th>
<th>pages</th>
<th>trans_id</th>
<th>method</th>
<th>submethod</th>
</tr>[% FOREACH sub = subs %]
<tr>
<td align="right">[% sub.spid %]</td>
<td align="left"><a href="[% constants.real_rootdir
%]/~[% sub.nickname | fixnickforlink | strip_paramattr %]">[%
sub.nickname | strip_literal %] ([% sub.uid %])</a></td>
<td align="left">[% sub.email | strip_literal %]</td>
<td align="left">[% sub.ts | strip_literal %]</td>
<td align="right" class="subs_net">[% sub.payment_net | strip_literal %]</td>
<td align="right">[% sub.payment_gross | strip_literal %]</td>
<td align="right">[% sub.pages | strip_literal %]</td>
<td align="left">[% sub.transaction_id | strip_literal %]</td>
<td align="left">[% sub.method | strip_literal %]</td>
<td align="left">[% sub.submethod | strip_literal %]</td>
</tr>
[% END %]</table>
[% prev_startat = startat + 30; %]
<form action="[% gSkin.rootdir %]/admin.pl" method="get">
<input type="hidden" name="op" value="recent_subs">
<input type="hidden" name="startat" value="[% prev_startat | strip_attribute %]">
<input type="submit" value="Prev Sub Payments >>">
</form>
</div>
link.
Partial solution:
[% PROCESS titlebar title="Recent Subscription Payments" %]
<div class="generalbody">
[% IF startat > 0;
next_startat = startat - 30;
IF next_startat < 0; next_startat = 0; END; %]
<form action="[% gSkin.rootdir %]/admin.pl" method="get">
<input type="hidden" name="op" value="recent_subs">
<input type="hidden" name="startat" value="[% next_startat | strip_attribute %]">
<input type="submit" value="<< Next Sub Payments">
</form>
[% END %]
<!-- We'll need a checkbox to toggle visibility: -->
<input type="checkbox" id="show_grant" name="show_grant" value="checked">
<!-- And styles for each column; (should be moved into default.css) ->
<!-- NB: the "align=" tag attribute is deprecated. -->
<style type="text/css">
.spid: { align: right; }
.nick: { align: left; }
.email: { align: left; }
.ts: { align: left; }
.net: { align: right; }
.gross: { align: right; }
.pages: { align: right; }
.transid: { align: left; }
.method: { align: left; }
.submethod: { align: left; }
.paid: { display: table-row; }
.grant: { display: none; }
.grant: { display: table-row; }
<!-- Need code in here, I think, to make use of -->
<!-- checkbox value to set the style for .grant -->
</style>
<table>
<thead>
<tr>
<th>spid</th>
<th>user</th>
<th>email</th>
<th>ts</th>
<th>payment_net</th>
<th>payment_gross</th>
<th>pages</th>
<th>trans_id</th>
<th>method</th>
<th>submethod</th>
</tr>
</thead>
<tbody>
[% FOREACH sub = subs %]
[% gross_amount [% sub.payment_gross | strip_literal %];
[% IF gross_amount > 0 subscribe_type = "paid"; ELSE; subscribe_type = "grant"; END;%]
<tr class="[% subscribe_type %]">
<td class="spid">[% sub.spid %]</td>
<td class="nick"><a href="[% constants.real_rootdir
%]/~[% sub.nickname | fixnickforlink | strip_paramattr %]">[%
sub.nickname | strip_literal %] ([% sub.uid %])</a></td>
<td class="email">[% sub.email | strip_literal %]</td>
<td class="ts">[% sub.ts | strip_literal %]</td>
<td class="net">[% sub.payment_net | strip_literal %]</td>
<td class="gross">[% sub.payment_gross | strip_literal %]</td>
<td class="pages">[% sub.pages | strip_literal %]</td>
<td class="transid">[% sub.transaction_id | strip_literal %]</td>
<td class="method">[% sub.method | strip_literal %]</td>
<td class="submethod">[% sub.submethod | strip_literal %]</td>
</tr>
[% END %]
</tbody>
</table>
[% prev_startat = startat + 30; %]
<form action="[% gSkin.rootdir %]/admin.pl" method="get">
<input type="hidden" name="op" value="recent_subs">
<input type="hidden" name="startat" value="[% prev_startat | strip_attribute %]">
<input type="submit" value="Prev Sub Payments >>">
</form>
</div>
fasdfsfasfasfasfasdfasdf
asfasdfasfdsdfafdsf
asfasdfasd
fasdfasdfasdf
asfsadfas
[2020-03-20 18:21:26 UTC: Updated dept. line to show how many characters it could contain. --martyb]
[2020-03-20 20:03:14 UTC: Added topics: "/dev/random", "Code", "Software", and "Answers" topics to better illustrate their use of space in a story. --martyb]
IMPORTANT NOTE: Rehash has altered the indentation; tabs have been replaced with spaces.
Here is the original version of the template: dispStory;misc;default
[% dispmode = dispmode || "full" %]
[% IF dispmode == "full" %]
<div class="article">
<span class="sd-info-block" style="display: none">
<span class="sd-key-sid">[% story.sid %]</span>
<span class="type">story</span>
[% IF user.is_admin %]<span class="stoid">[% story.stoid %]</span>[% END %]
</span>
[% stripped_title = story.title | strip_title %]
[% IF magic;
thisskin = Slash.db.getSkin(story.primaryskid);
IF thisskin.rootdir;
title = "<a href=\"$thisskin.rootdir/\">";
ELSE;
IF user.is_anon;
title = "<a href=\"$gSkin.rootdir/$thisskin.name/\">";
ELSE;
title = "<a href=\"$gSkin.rootdir/index.pl?section=$story.primaryskid\">";
END;
END;
title = title _ thisskin.title _ "</a>: <a href=\"$thisskin.rootdir/article.pl?sid=$story.sid\">$stripped_title</a>";
ELSE;
title = "<a href=\"$gSkin.rootdir/article.pl?sid=$story.sid\">$stripped_title</a>";
END %]
[% seen_topics = {} %]
[% PROCESS titlebar future=story.is_future %]
<div class="details">
[% IF story.journal_id;
# at some point, we should maybe have a link
# directly to the journal entry, perhaps
# in the storylinks? for now, just to the journal.
journal = Slash.getObject('Slash::Journal');
thisjournal = journal.get(story.journal_id);
IF thisjournal && thisjournal.uid;
thisuser = Slash.db.getUser(thisjournal.uid); %]
Journal written by <a href="[% constants.real_rootdir %]/~[% thisuser.nickname | fixnickforlink | strip_paramattr %]/journal/"
>[% thisuser.nickname | strip_literal %] ([% thisjournal.uid %])</a> and [%
ELSIF story.by %]
Written by [% story.by | strip_literal %] and [%
END;
END %]
posted by
[% IF author.homepage %]
<a href="[% author.homepage %]">[% author.nickname | strip_literal %]</a>
[% ELSE %]
<a href="[% constants.real_rootdir %]/~[% author.nickname | fixnickforlink | strip_paramattr %]/"> [% author.nickname | strip_literal %]</a>
[% END %]
[% story.atstorytime %]
[% IF constants.plugin.Print %]
<a href="[% gSkin.rootdir -%]/print.pl?sid=[% story.sid %]"><img src="[% constants.imagedir %]/print.gif" height="11" width="15" alt="Printer-friendly"></a>
[% END %]
[% IF constants.plugin.Email %]
<a href="[% gSkin.rootdir -%]/email.pl?sid=[% story.sid %]"><img src="[% constants.imagedir -%]/email.gif" height="14" width="20" alt="Email story" ></a>
[% END %]<br>
[% IF constants.use_dept && story.dept %]<strong>from the <b>[% story.dept %]</b> dept.</strong>[% END %]
</div>
<div class="body">
[% mypagemenu = PROCESS pagemenu; IF mypagemenu %]<br>[% mypagemenu %][% END %]
<div class="topic">
[% seen_topics.${topic.tid} = 1 %]
[% IF user.lowbandwidth || user.simpledesign || user.noicons || user.pda %]
[ <a href="[% gSkin.rootdir %]/search.pl?tid=[% topic.tid %]">[% topic.textname %]</a> ]
[% ELSIF topic.image %]
<a href="[% gSkin.rootdir %]/search.pl?tid=[% topic.tid %]">
<img src="[% constants.imagedir %]/topics/[% topic.image %]" width="[% topic.width %]" height="[% topic.height %]" alt="[% topic.textname %]" title="[% topic.textname %]" >
</a>
[% END %]
[% FOREACH tid = topiclist %]
[% IF seen_topics.$tid ; NEXT ; END %]
[% seen_topics.$tid = 1 %]
[% topic2 = Slash.db.getTopic(tid) %]
[% IF user.lowbandwidth || user.simpledesign || user.noicons %]
[ <a href="[% gSkin.rootdir %]/search.pl?tid=[% topic2.tid %]" class="topic2">[% topic2.textname %]</a> ]
[% ELSIF topic2.image %]
<a href="[% gSkin.rootdir %]/search.pl?tid=[% topic2.tid %]" class="topic2">
<img src="[% constants.imagedir %]/topics/[% topic2.image %]" width="[% topic2.width %]" height="[% topic2.height %]" alt="[% topic2.textname %]" title="[% topic2.textname %]" >
</a>
[% END %]
[% END %]
</div>
<div class="intro">
[%
# Look ye to parseDomainTags for the domaintags == [0-2] logic
%]
[% IF user.domaintags == "3" %]
[% story.introtext | apply_rehash_tags %]
[% ELSE %]
[% pretext = story.introtext | apply_rehash_tags;
pretext = Slash.addDomainTags(pretext);
pretext = Slash.parseDomainTags(pretext, 1); %]
[% pretext %]
[% END %]
</div>
[% IF !full && story.bodytext.length %]
<input type="checkbox" id="more_[% story.sid %]" class="story_more" autocomplete="off" />
<label for="more_[% story.sid %]" class="story_more">[% constants.story_more %]</label>
<div class="story_more full">
[% story.bodytext | apply_rehash_tags %]
</div>
[% END %]
[% IF full && user.is_admin %]
<br><a href="[% gSkin.rootdir -%]/admin.pl?op=edit&sid=[% story.sid %]">[ Edit ]</a>
[% IF user.acl.signoff_allowed %]
[% signed = Slash.db.hasUserSignedStory(stoid, user.uid); %]
[% UNLESS signed %]<a href="[% gSkin.rootdir -%]/admin.pl?op=edit&sid=[% story.sid %]">[ No Signoff ]</a> [% END %]
[% END %]
[% possndstory = Slash.db.getStory(stoid) %]
[% UNLESS possndstory.neverdisplay %]<a href="[% gSkin.rootdir -%]/admin.pl?op=edit&sid=[% story.sid %]">[ Display Enabled ]</a>[% END %]
[% END %]
[% IF story.is_future && !user.is_admin %]<p>See any serious problems with this story?
[% IF constants.ircslash_remarks %]
Paste a short message here (if it's a dupe, the URL would be great)
<form action="[% gSkin.rootdir %]/index.pl" method="post">
<input type="text" name="remark" size="20" maxlength="100">
<input type="hidden" name="sid" value="[% story.sid | strip_attribute %]" >
</form>
or email
[% ELSE %]
[% END %]
<a href="mailto:[% constants.adminmail %]?subject=[DP]%20[% story.title | strip_paramattr_nonhttp %]">our on-duty editor</a>.
[% END %]
[% IF full && story.bodytext %]
<div class="full">
[% story.bodytext | apply_rehash_tags %]
</div>
[% END %]
</div>
</div>
[% ELSIF dispmode == "brief" %]
[% IF story.is_future %]<div class="future">[% END %]
<div class="briefarticle">
[% storylink = Slash.linkStory ({
sid => story.sid,
link => story.title,
tid => story.tid
skin => story.primaryskid
}, 1 );
%]
[% title = ''; IF magic;
thisskin = Slash.db.getSkin(story.primaryskid);
IF thisskin.rootdir;
title = "<a href=\"$thisskin.rootdir/\">";
ELSE;
IF user.is_anon;
title = "<a href=\"$gSkin.rootdir/$thisskin.name/\">";
ELSE;
title = "<a href=\"$gSkin.rootdir/index.pl?section=$story.primaryskid\">";
END;
END;
title = "<span class=\"section\">" _ title _ thisskin.title _ "</a></span>: ";
END;
title = title _ "<span class=\"storytitle\"><a href=\"$thisskin.rootdir/article.pl?sid=$story.sid\">$story.title</a></span>";
%]
[% title %] [% IF story.commentcount %][% story.commentcount %] comment[% IF story.commentcount > 1 %]s[% END %][% END %]
[% IF user.is_admin %]<a href="[% gSkin.rootdir -%]/admin.pl?op=edit&sid=[% story.sid %]">(edit)</a>[% END %]
[% IF getintro %]
<div class="introhide" id="intro-[% story.stoid %]">
[% story.introtext | apply_rehash_tags %]
</div>
[% END %]
</div>
[% IF story.is_future %]</div>[% END %]
[% END %]
Here is the updated version of the template: dispStory;misc;default
[% dispmode = dispmode || "full" %]
[% IF dispmode == "full" %]
<div class="article">
<span class="sd-info-block" style="display: none">
<span class="sd-key-sid">[% story.sid %]</span>
<span class="type">story</span>
[% IF user.is_admin %]<span class="stoid">[% story.stoid %]</span>[% END %]
</span>
[% stripped_title = story.title | strip_title %]
[% IF magic;
thisskin = Slash.db.getSkin(story.primaryskid);
IF thisskin.rootdir;
title = "<a href=\"$thisskin.rootdir/\">";
ELSE;
IF user.is_anon;
title = "<a href=\"$gSkin.rootdir/$thisskin.name/\">";
ELSE;
title = "<a href=\"$gSkin.rootdir/index.pl?section=$story.primaryskid\">";
END;
END;
title = title _ thisskin.title _ "</a>: <a href=\"$thisskin.rootdir/article.pl?sid=$story.sid\">$stripped_title</a>";
ELSE;
title = "<a href=\"$gSkin.rootdir/article.pl?sid=$story.sid\">$stripped_title</a>";
END %]
[% seen_topics = {} %]
[% PROCESS titlebar future=story.is_future %]
<div class="details">
[% IF story.journal_id;
# at some point, we should maybe have a link
# directly to the journal entry, perhaps
# in the storylinks? for now, just to the journal.
journal = Slash.getObject('Slash::Journal');
thisjournal = journal.get(story.journal_id);
IF thisjournal && thisjournal.uid;
thisuser = Slash.db.getUser(thisjournal.uid); %]
Journal written by <a href="[% constants.real_rootdir %]/~[% thisuser.nickname | fixnickforlink | strip_paramattr %]/journal/"
>[% thisuser.nickname | strip_literal %] ([% thisjournal.uid %])</a> and [%
ELSIF story.by %]
Written by [% story.by | strip_literal %] and [%
END;
END %]
posted by
[% IF author.homepage %]
<a href="[% author.homepage %]">[% author.nickname | strip_literal %]</a>
[% ELSE %]
<a href="[% constants.real_rootdir %]/~[% author.nickname | fixnickforlink | strip_paramattr %]/"> [% author.nickname | strip_literal %]</a>
[% END %]
[% story.atstorytime %]
[% IF constants.plugin.Print %]
<a href="[% gSkin.rootdir -%]/print.pl?sid=[% story.sid %]"><img src="[% constants.imagedir %]/print.gif" height="11" width="15" alt="Printer-friendly"></a>
[% END %]
[% IF constants.plugin.Email %]
<a href="[% gSkin.rootdir -%]/email.pl?sid=[% story.sid %]"><img src="[% constants.imagedir -%]/email.gif" height="14" width="20" alt="Email story" ></a>
[% END %]<br>
[% IF constants.use_dept && story.dept %]<strong>from the <b>[% story.dept %]</b> dept.</strong>[% END %]
</div>
<div class="body">
<!-- BEGIN in-memory update 2020-03-20 --martyb -->
<div class="linkCommentPage" style="margin: 0; padding: 0; background-color: inherit !important;">
<span class="nbutton">
<b>
<style>html body div#frame div#contents div#index div#articles div.article div.body div.linkCommentPage span.nbutton b a {display: none;}</style>
<a href="#acomments">Skip to comment(s)</a>
</b>
</span>
</div>
<!-- END in-memory update 2020-03-20 --martyb -->
[% mypagemenu = PROCESS pagemenu; IF mypagemenu %]<br>[% mypagemenu %][% END %]
<div class="topic">
[% seen_topics.${topic.tid} = 1 %]
[% IF user.lowbandwidth || user.simpledesign || user.noicons || user.pda %]
[ <a href="[% gSkin.rootdir %]/search.pl?tid=[% topic.tid %]">[% topic.textname %]</a> ]
[% ELSIF topic.image %]
<a href="[% gSkin.rootdir %]/search.pl?tid=[% topic.tid %]">
<img src="[% constants.imagedir %]/topics/[% topic.image %]" width="[% topic.width %]" height="[% topic.height %]" alt="[% topic.textname %]" title="[% topic.textname %]" >
</a>
[% END %]
[% FOREACH tid = topiclist %]
[% IF seen_topics.$tid ; NEXT ; END %]
[% seen_topics.$tid = 1 %]
[% topic2 = Slash.db.getTopic(tid) %]
[% IF user.lowbandwidth || user.simpledesign || user.noicons %]
[ <a href="[% gSkin.rootdir %]/search.pl?tid=[% topic2.tid %]" class="topic2">[% topic2.textname %]</a> ]
[% ELSIF topic2.image %]
<a href="[% gSkin.rootdir %]/search.pl?tid=[% topic2.tid %]" class="topic2">
<img src="[% constants.imagedir %]/topics/[% topic2.image %]" width="[% topic2.width %]" height="[% topic2.height %]" alt="[% topic2.textname %]" title="[% topic2.textname %]" >
</a>
[% END %]
[% END %]
</div>
<div class="intro">
[%
# Look ye to parseDomainTags for the domaintags == [0-2] logic
%]
[% IF user.domaintags == "3" %]
[% story.introtext | apply_rehash_tags %]
[% ELSE %]
[% pretext = story.introtext | apply_rehash_tags;
pretext = Slash.addDomainTags(pretext);
pretext = Slash.parseDomainTags(pretext, 1); %]
[% pretext %]
[% END %]
</div>
[% IF !full && story.bodytext.length %]
<input type="checkbox" id="more_[% story.sid %]" class="story_more" autocomplete="off" />
<label for="more_[% story.sid %]" class="story_more">[% constants.story_more %]</label>
<div class="story_more full">
[% story.bodytext | apply_rehash_tags %]
</div>
[% END %]
[% IF full && user.is_admin %]
<br><a href="[% gSkin.rootdir -%]/admin.pl?op=edit&sid=[% story.sid %]">[ Edit ]</a>
[% IF user.acl.signoff_allowed %]
[% signed = Slash.db.hasUserSignedStory(stoid, user.uid); %]
[% UNLESS signed %]<a href="[% gSkin.rootdir -%]/admin.pl?op=edit&sid=[% story.sid %]">[ No Signoff ]</a> [% END %]
[% END %]
[% possndstory = Slash.db.getStory(stoid) %]
[% UNLESS possndstory.neverdisplay %]<a href="[% gSkin.rootdir -%]/admin.pl?op=edit&sid=[% story.sid %]">[ Display Enabled ]</a>[% END %]
[% END %]
[% IF story.is_future && !user.is_admin %]<p>See any serious problems with this story?
[% IF constants.ircslash_remarks %]
Paste a short message here (if it's a dupe, the URL would be great)
<form action="[% gSkin.rootdir %]/index.pl" method="post">
<input type="text" name="remark" size="20" maxlength="100">
<input type="hidden" name="sid" value="[% story.sid | strip_attribute %]" >
</form>
or email
[% ELSE %]
[% END %]
<a href="mailto:[% constants.adminmail %]?subject=[DP]%20[% story.title | strip_paramattr_nonhttp %]">our on-duty editor</a>.
[% END %]
[% IF full && story.bodytext %]
<div class="full">
[% story.bodytext | apply_rehash_tags %]
</div>
[% END %]
</div>
</div>
[% ELSIF dispmode == "brief" %]
[% IF story.is_future %]<div class="future">[% END %]
<div class="briefarticle">
[% storylink = Slash.linkStory ({
sid => story.sid,
link => story.title,
tid => story.tid
skin => story.primaryskid
}, 1 );
%]
[% title = ''; IF magic;
thisskin = Slash.db.getSkin(story.primaryskid);
IF thisskin.rootdir;
title = "<a href=\"$thisskin.rootdir/\">";
ELSE;
IF user.is_anon;
title = "<a href=\"$gSkin.rootdir/$thisskin.name/\">";
ELSE;
title = "<a href=\"$gSkin.rootdir/index.pl?section=$story.primaryskid\">";
END;
END;
title = "<span class=\"section\">" _ title _ thisskin.title _ "</a></span>: ";
END;
title = title _ "<span class=\"storytitle\"><a href=\"$thisskin.rootdir/article.pl?sid=$story.sid\">$story.title</a></span>";
%]
[% title %] [% IF story.commentcount %][% story.commentcount %] comment[% IF story.commentcount > 1 %]s[% END %][% END %]
[% IF user.is_admin %]<a href="[% gSkin.rootdir -%]/admin.pl?op=edit&sid=[% story.sid %]">(edit)</a>[% END %]
[% IF getintro %]
<div class="introhide" id="intro-[% story.stoid %]">
[% story.introtext | apply_rehash_tags %]
</div>
[% END %]
</div>
[% IF story.is_future %]</div>[% END %]
[% END %]