--- /dev/null
+<?php $cvs_id='$Id$';
+
+ include("common.php");
+
+ prepvar("year" ,"[0-9]+");
+ prepvar("month","[0-9]+");
+ prepvar("id" ,"[0-9]+",false/*required*/);
+
+ $title_tail=title_name($year,$month);
+ $result=db_query("select name,contents from $tb_clanek where year=$year and month=$month"
+ .(isset($id) ? " and id=$id" : "")." order by id");
+ if (isset($id) && 1==mysql_num_rows($result)) {
+ $row=mysql_fetch_array($result);
+ $title_tail.=" - ".$row["name"];
+ }
+
+ heading();
+ print("<h1>".title_name($year,$month)."</h1>\n");
+
+ if (isset($id) && 1!=mysql_num_rows($result))
+ fatal("Zadaný èlánek nebyl nalezen");
+
+function print_article($row)
+{
+ print("<h2>".htmlspecialchars($row["name"])."</h2>\n".$row["contents"]);
+}
+
+ if (isset($id))
+ print_article($row);
+ else
+ while (($row=mysql_fetch_array($result)))
+ print_article($row);
+ mysql_free_result($result);
+
+ footer();
+?>
use DBI;
use vars qw/$db_driver $db_host $db_user $db_pwd $DB_PWD $db_name $db/;
-use vars qw/$tb_obsah/;
+use vars qw/$tb_obsah $tb_clanek/;
$db_driver="mysql";
$db_host="";
$DB_PWD=$ENV{"HOME"}."/priv/mysql.${db_user}.pwd";
$db_name="short";
$tb_obsah="energie_obsah";
+$tb_clanek="energie_clanek";
open DB_PWD or die "Failed open \"$DB_PWD\": $!";
$db_pwd=<DB_PWD>;
&db_do("alter table $tb_obsah add unique (year,month)");
+eval { &db_do("drop table $tb_clanek") };
-use vars qw/$insert_tb_obsah $year $month $month_last $sequential $contents $first/;
+&db_do("create table $tb_clanek ("
+ ."year year(4) not null,"
+ ."month tinyint not null,"
+ ."id tinyint not null,"
+ ."name text not null,"
+ ."contents text not null"
+ .")");
+
+&db_do("alter table $tb_clanek add unique (year,month,id)");
+
+use vars qw/$insert_tb_obsah $insert_tb_clanek $year $month $month_last $sequential $contents $first $article_id/;
sub where
{
undef $year,$month;
undef $contents;
undef $first;
+ undef $article_id;
}
$insert_tb_obsah=$db->prepare("insert into $tb_obsah (year,month,month_last,sequential,contents) values (?,?,?,?,?)")
or die "Prepare fail: $!";
+$insert_tb_clanek=$db->prepare("insert into $tb_clanek (year,month,id,name,contents) values (?,?,?,?,?)")
+ or die "Prepare fail: $!";
while (<>) {
chomp;
$contents="";
next;
}
+ if (/^#(.+)$/) {
+my( $clanek )="";
+my( $line );
+ while (($line=<>)!~/^#$/) {
+ die "Article EOF marker not found".&where() if (!$line);
+ $clanek.=$line;
+ }
+ # $article_id probably should not be zero
+ $insert_tb_clanek->execute($year,$month,++$article_id,$1,$clanek) or die "SQL insert failure: $!";
+ next;
+ }
if (/^Pøíloha:$/) {
die "Multiple \"Pøíloha\"s".&where() if ($contents=~/\004/);
$contents.="\004";