summaryrefslogtreecommitdiffstats
path: root/latest.cgi
diff options
context:
space:
mode:
Diffstat (limited to 'latest.cgi')
-rwxr-xr-xlatest.cgi124
1 files changed, 124 insertions, 0 deletions
diff --git a/latest.cgi b/latest.cgi
new file mode 100755
index 0000000..22bb34a
--- /dev/null
+++ b/latest.cgi
@@ -0,0 +1,124 @@
+#!/usr/bin/ruby
+
+require 'rubygems'
+require 'dbi'
+require 'cgi'
+
+require 'conf'
+db=$db
+
+page="Blagues"
+subpage="Derniers ajouts"
+
+cgi = CGI.new
+puts cgi.header
+
+if cgi['page'] =~ /\d*/
+ page = cgi['page'].to_i
+else
+ page = 1
+end
+
+puts <<HTML_BDG
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
+ <head>
+ <title>BDG — Blagues de Geek</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta http-equiv="content-language" content="fr" />
+ <meta http-equiv="Pragma" content="no-cache" />
+ <meta http-equiv="Cache-Control" content="no-cache, must-revalidate" />
+ <meta http-equiv="Expires" content="0" />
+ <link rel="shortcut icon" href="favicon.ico" />
+ <link rel="stylesheet" media="screen" type="text/css" title="Design" href="index.css" />
+ </head>
+ <body>
+HTML_BDG
+
+require 'menu'
+puts menu_bdg(page,subpage)
+
+puts <<HTML_BDG
+ <table id="milieu">
+ <tr>
+ <td id="gauche"><h1><a href="random.cgi">Dernières blagues ajoutés</a></h1>
+ <div id="page">
+HTML_BDG
+
+num_bdg = 0
+db.execute("SELECT count(id) FROM blague").each { |row| num_bdg = row[0].to_i }
+
+num_page = ((num_bdg+11)/10+1)
+i = 0
+if page > 5 then
+ i = page
+ puts <<HTML_BDG
+
+ <a class="page" href="?page=1">1</a>
+
+HTML_BDG
+end
+until i == num_page
+ i = i+1
+ if i > (page+10) and num_page/2 > 10 then
+ puts <<HTML_BDG
+
+ <a class="page" href="?page=#{(num_page+page)/2}">#{(num_page+page)/2}</a>
+
+HTML_BDG
+ break
+ elsif i > 5 and page > 5 then
+ puts <<HTML_BDG
+
+ <a class="page" href="?page=#{i-4}">#{i-4}</a>
+
+HTML_BDG
+ elsif i < 11 and page <= 5
+ puts <<HTML_BDG
+
+ <a class="page" href="?page=#{i}">#{i}</a>
+
+HTML_BDG
+ end
+end
+if num_page > 10 then
+ puts <<HTML_BDG
+
+ <a class="page" href="?page=#{num_page}">#{num_page}</a>
+
+HTML_BDG
+end
+puts"
+ </div>"
+
+i = 0
+db.execute("SELECT * FROM blague WHERE id < ((SELECT id FROM blague ORDER BY id DESC LIMIT 1)-#{(page*10)-11}) ORDER BY id DESC LIMIT 10").each { |row|
+ unless row[1] == ""
+ if i.modulo(2) == 1
+ parity = " impair"
+ else
+ parity = ""
+ end
+ i = i + 1
+ puts <<HTML_BDG
+
+ <div class="Blague#{parity}">
+ <div class="titre"><h3>\##{row[0]} - #{CGI::escapeHTML(row[1])} <span class="vote">( #{row[5]} / #{row[6]} )</span></h3></div>
+ <p class="contenu">#{CGI::escapeHTML(row[3]).gsub(/\r\n|\r|\n/,"<br />")}</p><p class="by">post&eacute; par #{CGI::escapeHTML(row[2])} le #{row[4]}</p>
+ </div>
+HTML_BDG
+ end
+}
+
+require 'infos'
+puts infos_bdg()
+
+puts <<HTML_BDG
+ </tr>
+ </table>
+ </body>
+</html>
+HTML_BDG