diff options
Diffstat (limited to 'latest.cgi')
-rwxr-xr-x | latest.cgi | 124 |
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é 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 |