root/veekun/trunk/templates/index.tt

Revision 448, 8.1 kB (checked in by eevee, 5 months ago)

Removed ability for anon users to post to the shoutbox. (#329)

Line 
1<p>Greetings.  I am Eevee, and this is my..  <em>experiment</em>.  It is not so
2much a web site as a testing ground for whatever I happen to be doing at the
3moment.  For quite a while, that has been the construction of an epic <a
4href="[% c.uri_for('/dex') %]">Pok&eacute;dex</a>, but on the off chance it is
5ever finished to my satisfaction, I have plenty more ideas for applications to
6write.  In other words, this is not nor was it ever intended to be yet another
7Pok&eacute;mon site.</p>
8<p>You are welcome to create a community here (when the forum happens to be
9working), but I make no effort whatsoever to censor anything or adhere to
10any sort of "rating".  I also have a bit of a problem with people who cannot
11get enough of their own inane babble and people who cannot string two words
12together coherently to save their lives.  I suggest you keep that in mind if
13you wish to "contribute".  Beyond that, I think nitpick rules are the fastest
14way to create a religion, so I try to avoid it at all costs.</p>
15<p>If you wish to <em>actually</em> contribute -- i.e., look at and amend the
16code -- drop me a line and we'll see what we can do.  Veekun is written in Perl
17and running atop Catalyst on FastCGI.  PHP sucks.  <em>Hard</em>.</p>
18<p>I am also distributing my raw Pok&eacute;dex data, as I think it's ridiculous
19to claim ownership of data someone else invented that I collected.  If you would
20like it, you can get a MySQL-compatible dump from my
21<a href="http://trac.veekun.com/browser/veekun/trunk/script/pokedex.sql">code
22repository</a>.  Fair warning: the schema has no real documentation at the
23moment and is subject to <a href="http://trac.veekun.com/ticket/58">change
24without notice</a>.</p>
25<p>I am wide open to suggestions, comments, criticisms, improvements, and free
26money.</p>
27
28<div id="leftcol">
29    <div class="front-box">
30        <a href="[% c.site_opts.rss_site_url %]" class="heading"><img src="/images/icons/index/news.png" alt="" class="icon"/> Pok&eacute;mon News</a>
31[% FOR feed_entry IN c.cache.rss_entries %]
32        <div class="front-feedentry">
33            <div class="title"> <a href="[% feed_entry.link %]">[% feed_entry.title %]</a> </div>
34            <div class="time"> [% format_time(feed_entry.issued) %] </div>
35            <p class="summary"> [% feed_entry.content.body | nohtml %] </p>
36        </div>
37[% END %]
38[% IF NOT c.cache.rss_entries %]
39        <p> No Pok&eacute;mon news. </p>
40[% END %]
41    </div>
42    <div class="front-box">
43        <a href="/forum/[% c.site_opts.special_forums.news %]" class="heading"><img src="/images/icons/index/news.png" alt="" class="icon"/> News</a>
44[% WHILE (t = recent_news.next) %]
45        <div class="front-newspost">
46            <div class="time">[% format_time(t.first_post.time) %]</div>
47            <a href="/users/[% t.first_post.user_id %]" class="icon">[% IF t.first_post.user.news_pic %]<img src="/images/news/[% t.first_post.user.news_pic %]" alt="[% t.first_post.user.name %]" title="[% t.first_post.user.name %]"/>[% ELSE; t.first_post.user.name; END %]</a>
48            <div class="title">[% t.subject %]</div>
49            <div class="body">[% t.first_post.content | bbcode %]</div>
50            <a href="/forum/thread/[% t.id %]" class="link">View thread or post a comment ([% t.post_count - 1 %] so far)</a>
51        </div>
52[% END %]
53[% IF recent_news.is_empty %]
54        <p> No newsposts found. </p>
55[% END %]
56    </div>
57    <div class="front-box">
58        <a href="/forum" class="heading"><img src="/images/icons/index/forum.png" alt="" class="icon"/> Forum</a>
59        <table class="front-forum" cellspacing="0">
60            <col style="width: 12px;"/><col/><col style="width: 12.5em;"/><col style="width: 12.5em;"/>
61[% color = 1 %]
62[% WHILE (t = recent_posts.next) %]
63            <tr class="color[% color %]">
64                <td>[% IF is_unread(t) %]<img src="/images/icons/unread.png" alt="Unread posts" title="Unread posts"/>[% END %]</td>
65                <td><a href="/forum/post/[% t.last_post.id %]">[% t.subject %]</a></td>
66                <td><a href="/users/[% t.last_post.user.id %]">[% t.last_post.user.name %]</a></td>
67                <td>[% t.last_post.time | date %]</td>
68            </tr>
69[%     color = 3 - color%]
70[% END %]
71        </table>
72    </div>
73    <div class="front-box">
74        <a href="/users/stats" class="heading"><img src="/images/icons/index/stats.png" alt="" class="icon"/> User Statistics</a>
75[% IF recent_users.is_empty %]
76        <p> Nobody has been on in a while. </p>
77[% ELSE %]
78        <p> Recent users:
79[%     now = time %]
80[%     last_user = 0 %]
81[%     WHILE (u = recent_users.next) %]
82[%         IF NOT done_user_sep AND last_user AND last_user.time_active < now - 600; done_user_sep = 1 %] | [% END %]
83<a href="/users/[% u.id %]" title="[% now - u.time_active | timespan %]">[% u.name %]</a>
84[%         last_user = u %]
85[%     END %]
86        </p>
87[% END %]
88    </div>
89</div>
90<div id="rightcol">
91    <div class="front-box">
92        <a href="/shoutbox" class="heading"><img src="/images/icons/index/shoutbox.png" alt="" class="icon"/> Shoutbox</a>
93[% can_edit_shoutbox = allowed('shoutbox.edit') %]
94[% can_nuke_shoutbox = allowed('shoutbox.nuke') %]
95[% WHILE (s = recent_shouts.next) %]
96        <div class="shout">
97[%     IF can_edit_shoutbox AND 0 %]
98            <a href="/shoutbox/[% s.id %]/edit"><img src="/images/icons/edit.png" alt="Edit"/></a>
99[%     END %]
100[%     IF can_nuke_shoutbox %]
101            <a href="/shoutbox/[% s.id %]/nuke" class="button" onclick="return confirm('Really nuke this post?\nThis cannot be undone.');"><img src="/images/icons/nuke.png" alt="Nuke"/></a>
102[%     END %]
103[%     IF s.time %]
104            <span class="time">[% s.time | date %]</span>
105[%     END %]
106[%     IF s.user_id %]
107            <a href="/users/[% s.user_id %]" class="author" title="[% s.user.name %]">[% s.name %]</a>[% '*' UNLESS s.name == s.user.name %]
108[%     ELSE %]
109            <span class="author">[% s.name %]</span>
110[%     END %]
111            <div class="text" title="[% format_date(s.time) %]">[% s.content | html | html_line_break %]</div>
112        </div>
113[% END %]
114[% IF recent_shouts.is_empty %]
115        <p> Shoutbox is empty. </p>
116[% END %]
117[% IF c.user  # allowed('shoutbox.post') %]
118        <form class="front-shout-form" action="/shoutbox/post" method="post">
119            <p> [% shoutbox_form.get_tag('content') %] </p>
120            <p> <input type="submit" name="submit" value="Post"/> <input type="reset" value="Clear"/> </p>
121        </form>
122[% END %]
123    </div>
124[% IF c.cache.svn %]
125    <div class="front-box">
126        <a href="http://trac.veekun.com/browser/veekun/trunk" class="heading"><img src="/images/icons/index/svn.png" alt="" class="icon"/>Subversion</a>
127        <p class="svncommit-revision"> <em>Last Subversion commit:</em> <a href="http://trac.veekun.com/changeset/[% c.cache.svn.revision.replace('r','') %]">[% c.cache.svn.revision %]</a> </p>
128        <p class="svncommit-log">[% c.cache.svn.log | nohtml %]</p>
129        <p class="svncommit-stamp">by [% c.cache.svn.user %] on [% format_time(c.cache.svn.time) %]</p>
130    </div>
131[% END %]
132</div>
133
134[% IF 0 %]
135  <div class="front-box">
136   <a href="/gallery" class="front-header"><img src="/images/icons/index/gallery.png" alt="" class="front-icon"/> Gallery </a>
137   <div class="thumbnail-grid">
138[% WHILE (i = recent_art.next) %]
139[%     IF i.width > i.height %]
140[%         t_width = 100; t_height = 100 * i.height / i.width; t_height = round(t_height); %]
141[%     ELSE %]
142[%         t_height = 100; t_width = 100 * i.width / i.height; t_width = round(t_width); %]
143[%     END %]
144    <div class="thumbnail-cell">
145    <a href="/gallery/[% i.id %]" class="thumbnail" style="width: [% t_width %]px; height: [% t_height %]px;">
146     <div class="thumbnail-tr"></div><div class="thumbnail-bl"></div>
147     <img src="/uploads/thumbs/[% i.filename %]" alt="[% i.title %]" title="[% i.title %]"/>
148     <div class="thumbnail-info">
149      <div class="thumbnail-info-title">[% i.title %]</div>
150      <div class="thumbnail-info-creator">mel</div>
151      <div class="thumbnail-info-type">[% i.type %]</div>
152      <div class="thumbnail-info-size">[% i.height %] x [% i.width %]</div>
153     </div>
154    </a>
155    </div>
156[% END %]
157[% IF recent_art.is_empty %]
158    <p> Nothing in the gallery. </p>
159[% END %]
160   </div>
161  </div>
162[% END %]
Note: See TracBrowser for help on using the browser.