--- make_poll.pl 2003/04/24 17:55:17 1.5 +++ make_poll.pl 2003/04/24 19:11:45 1.6 @@ -19,7 +19,7 @@ my @Modes = qw(object pass skip); -my $dir; +my $poll; my $dowarn = 1; my $pitanje_nr = 0; # curr. pitanje @@ -74,18 +74,18 @@ sub php_header { my ($page_nr,@sql_update) = @_; my $out='$sql"; + print "
$sql
"; $result=pg_Exec($conn,fix_sql($sql)); - } elseif($do_stranice != $PHP_SELF) { + } elseif($do_stranice != $PHP_SELF && isset($do_uri) && isset($a)) { Header("Location: $do_uri?a=$a"); exit; } @@ -123,18 +123,18 @@ die "Can't read $xmlfile" unless -r $xmlfile; -if (defined $dir) { - die "$dir isn't a directory" unless -d $dir; +if (defined $poll) { + die "$poll isn't a directory" unless -d $poll; } else { $xmlfile =~ m!([^/.]+)(?:\.[^/.]*)?$!; - $dir = $1; - if (-e $dir) { - die "$dir exists but isn't a directory" - unless -d $dir; + $poll = $1; + if (-e $poll) { + die "$poll exists but isn't a directory" + unless -d $poll; } else { - mkdir $dir, 0755; + mkdir $poll, 0755; } } @@ -178,7 +178,10 @@ print "p[$page_nr] "; -open(PAGE, ">$dir/$last_fn") or die "Couldn't open $last_fn for writing:\n$!"; +open(PAGE, ">$poll/$last_fn") or die "Couldn't open $last_fn for writing:\n$!"; +if ($page_nr <= 2) { + print PAGE php_new_poll(); +} print PAGE php_header($page_nr,@prelast_sql_update); my $next_fn=sprintf("%02d.php",$page_nr); $last_page=~s/##NEXTPAGE##/$next_fn/; @@ -186,23 +189,23 @@ close(PAGE); $page_nr++; -open(PAGE, ">$dir/$next_fn") or die "Couldn't open $next_fn for writing:\n$!"; +open(PAGE, ">$poll/$next_fn") or die "Couldn't open $next_fn for writing:\n$!"; print PAGE php_header($page_nr,@last_sql_update); print PAGE "$html_header $html_kraj $html_footer"; close(PAGE); # dump sql structure -open(SQL,">$dir/$dir.sql") || die "$dir.sql: $!"; +open(SQL,">$poll/$poll.sql") || die "$poll.sql: $!"; print SQL "create table poslani ( member_id int4 not null, unesen timestamp default now() );\n"; -print SQL "create table $dir (do_stranice text default null, ",join(",\n",@sql_create),");\n"; +print SQL "create table $poll (do_stranice text default null, ",join(",\n",@sql_create),");\n"; close(SQL); # dump common.php -open(PHP,">$dir/common.php") || die "common.php: $!"; -$common_php =~ s/##DB##/$dir/g; -my $db_name = $prefix.$dir; +open(PHP,">$poll/common.php") || die "common.php: $!"; +$common_php =~ s/##DB##/$poll/g; +my $db_name = $prefix.$poll; $common_php =~ s/##DB_NAME##/$db_name/g; $common_php =~ s/##PREFIX##/$prefix/g; $common_php =~ s/##DB_USER##/$db_user/g; @@ -213,7 +216,7 @@ print PHP $common_php; close(PHP); -open(PHP,">$dir/head.php") || die "head.php: $!"; +open(PHP,">$poll/head.php") || die "head.php: $!"; my $max_page = $page_nr - 1; $head_php=~ s/##MAXPAGE##/$max_page/; $head_php=~ s/##TEXT##/Ispunili ste %02d%% ankete/; @@ -221,7 +224,7 @@ close(PHP); # 01.php -> index.php -rename "$dir/01.php","$dir/index.php" || die "can't rename '$dir/01.php' to index.php"; +rename "$poll/01.php","$poll/index.php" || die "can't rename '$poll/01.php' to index.php"; ################ ## End of main @@ -303,16 +306,16 @@ &$subname($xp, $el, \%atts, \$new_closure); } else { - $body .= $xp->recognized_string; + $body .= x($xp->recognized_string); $new_closure = sub { my ($xp, $text) = @_; if (defined $text) { - $body .= $text; + $body .= x($text); } else { - $body .= ""; + $body .= x(""); } }; } @@ -434,6 +437,26 @@ $str; } # End sgml_escape + +sub php_new_poll { + return '$sql"; + $result=pg_Exec($conn,fix_sql($sql)); + $lastoid=pg_getlastoid($result); + $result = pg_Exec($conn,fix_sql("select id from '.$poll.' where oid=$lastoid")); + $row=pg_fetch_row($result,0); + $id=$row[0]; +?>'; +} + ################################################################ package Poll; @@ -451,25 +474,9 @@ print "p[$page_nr] "; if (defined $last_fn) { - open(PAGE, ">$dir/$last_fn") or die "Couldn't open $last_fn for writing:\n$!"; - if ($page_nr == 2) { - print PAGE '$sql"; - $result=pg_Exec($conn,fix_sql($sql)); - $lastoid=pg_getlastoid($result); - $result = pg_Exec($conn,fix_sql("select id from '.$dir.' where oid=$lastoid")); - $row=pg_fetch_row($result,0); - $id=$row[0]; -?>'; - + open(PAGE, ">$poll/$last_fn") or die "Couldn't open $last_fn for writing:\n$!"; + if ($page_nr < 2) { + print PAGE php_new_poll(); } else { print PAGE php_header($page_nr,@prelast_sql_update); } # last_sql_update