appwrap-cvs Mailing List for AppWrap web frontend to workgroup data (Page 3)
Status: Beta
Brought to you by:
planetman
You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(30) |
Oct
(27) |
Nov
(86) |
Dec
(65) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(12) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(2) |
Dec
|
From: <pla...@us...> - 2002-12-08 02:43:00
|
Update of /cvsroot/appwrap/AppWrap/Apache/AppWrap In directory sc8-pr-cvs1:/tmp/cvs-serv29281 Modified Files: Pager.pm Log Message: Disabled visualization and navigation for summary pages Index: Pager.pm =================================================================== RCS file: /cvsroot/appwrap/AppWrap/Apache/AppWrap/Pager.pm,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** Pager.pm 7 Dec 2002 02:08:29 -0000 1.13 --- Pager.pm 8 Dec 2002 02:42:57 -0000 1.14 *************** *** 27,31 **** use Apache::Constants qw(:common); ! $Apache::AppWrap::Pager::VERSION = "0.06"; # 03Dec02. convert to my_tables table_type directive # 22Nov02. Changed $kt_label definition to silence warnings --- 27,31 ---- use Apache::Constants qw(:common); ! $Apache::AppWrap::Pager::VERSION = "0.07"; # 03Dec02. convert to my_tables table_type directive # 22Nov02. Changed $kt_label definition to silence warnings *************** *** 38,44 **** @ISA = 'Exporter'; } - ############################################################ - # Subroutines - ############################################################ ########################## # Usage: ($ref, row_count) = &paginator (\%opts) returns a reference --- 38,41 ---- *************** *** 49,58 **** # hash refs of source data. # 23Nov02. Began coding for language flexibility. - # 20 Apr 02. Migrated from Subs library; added \%args as input to - # override my_* table defaults; - # 20 Nov 01. Allow indirect sorts, ie sort on text expansion of a - # numeric field (eg., product_id.) - # 17 May 01. Some columns sort improperly cause $opts->{column} not - # getting set # 25 Jan. sorted out func_% return values ########################## --- 46,49 ---- *************** *** 296,313 **** # If there is a page before this one show a link to it # else leave a blank cell ! push @rows, ' <table width="100%" valign="top" border="0">' . $HNL, ! ' <tr valign="bottom">' . $HNL; # left cell, get any data visualization icons. only if this # is a user data table, because other table types lack date # fields, and thus be calendar'd or chart'd my $left; if (exists $my_tables->{$table}{table_type} && ! $my_tables->{$table}{table_type} =~ m/^(user|meta)_data$/) { ! # if ($my_tables->{$table}{user_data}) { my $dv_icons = visualize($opts); $left = join("", @$dv_icons) if $dv_icons && scalar(@$dv_icons); } ! push @rows, ' <td width="30%" align="left">'; push @rows, $left || $msgs->{left} || ' '; push @rows, ' </td>' . $HNL; --- 287,305 ---- # If there is a page before this one show a link to it # else leave a blank cell ! push @rows, ' <table width="100%" valign="top" border="0">' . $HNL; ! push @rows, ' <tr valign="bottom">' . $HNL; # left cell, get any data visualization icons. only if this # is a user data table, because other table types lack date # fields, and thus be calendar'd or chart'd + #$log->debug("\npaginator: table=$table."); my $left; if (exists $my_tables->{$table}{table_type} && ! $my_tables->{$table}{table_type} =~ m/^(user|meta)_data$/ && ! ! exists $opts->{args}{top_summary}) { my $dv_icons = visualize($opts); $left = join("", @$dv_icons) if $dv_icons && scalar(@$dv_icons); } ! push @rows, ' <td width="30%" align="left">'; push @rows, $left || $msgs->{left} || ' '; push @rows, ' </td>' . $HNL; *************** *** 321,325 **** #$log->debug("\n\&paginator: got to data. Rows=$row_count."); # right cell, get any data navigation icons ! my $nav = navigate($opts); my $right = join("", @$nav) if $nav && scalar(@$nav); --- 313,317 ---- #$log->debug("\n\&paginator: got to data. Rows=$row_count."); # right cell, get any data navigation icons ! my $nav = navigate($opts) unless exists $opts->{args}{top_summary}; my $right = join("", @$nav) if $nav && scalar(@$nav); *************** *** 331,335 **** # use hidden fields to allow context-sensitive navigation. Save $page # (current page number) and $sb (how to sort the next displayed page.) ! my $text = ' <form method="POST"'; $text .= ' enctype="application/x-www-form-urlencoded">' . $HNL; push @rows, $text; --- 323,327 ---- # use hidden fields to allow context-sensitive navigation. Save $page # (current page number) and $sb (how to sort the next displayed page.) ! my $text = ' <form method="POST"'; $text .= ' enctype="application/x-www-form-urlencoded">' . $HNL; push @rows, $text; *************** *** 337,346 **** $text .= ' value="' . $page . '">' . $HNL; push @rows, $text; ! $text = ' <input type="hidden" name="sb" value="'; $text .= $sb . '">' . $HNL; push @rows, $text; ! $text = ' </form>' . $HNL . ' </tr>' . $HNL; push @rows, $text; ! push @rows, ' </table>' . $HNL; ############################################################ --- 329,338 ---- $text .= ' value="' . $page . '">' . $HNL; push @rows, $text; ! $text = ' <input type="hidden" name="sb" value="'; $text .= $sb . '">' . $HNL; push @rows, $text; ! $text = ' </form>' . $HNL . ' </tr>' . $HNL; push @rows, $text; ! push @rows, ' </table>' . $HNL; ############################################################ |
From: <pla...@us...> - 2002-12-08 02:41:45
|
Update of /cvsroot/appwrap/AppWrap/Apache/AppWrap In directory sc8-pr-cvs1:/tmp/cvs-serv29121 Modified Files: Calendar.pm Log Message: Changes for i18n Index: Calendar.pm =================================================================== RCS file: /cvsroot/appwrap/AppWrap/Apache/AppWrap/Calendar.pm,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Calendar.pm 7 Dec 2002 02:17:07 -0000 1.6 --- Calendar.pm 8 Dec 2002 02:41:41 -0000 1.7 *************** *** 8,11 **** --- 8,13 ---- use strict; + use warnings; + no warnings qw(redefine); use CGI::Carp qw(fatalsToBrowser); use Date::Format qw(time2str); *************** *** 22,28 **** use vars qw($VERSION); ! $Apache::AppWrap::Calendar::VERSION = '0.06'; ############################ ! # 06Nov02. Migrate to CSS-based presentation # 05Nov02. handle HEAD requests ############################ --- 24,31 ---- use vars qw($VERSION); ! $Apache::AppWrap::Calendar::VERSION = '0.08'; ############################ ! # 06Dec02. use warnings pragma ! # 06Dec02. Migrate to CSS-based presentation # 05Nov02. handle HEAD requests ############################ *************** *** 43,46 **** --- 46,63 ---- my $col_order = $opts->{col_order}; + my $msgs = $opts->{display_text}; + $msgs ||= Apache::AppWrap::Subs::get_display_text($opts); + $opts->{display_text} ||= $msgs; + + # titles want to see these vars defined + my $link_vars = Apache::AppWrap::Subs::cclinks($opts); + + my $title = eval $msgs->{title} if $msgs->{title}; + unless ($title) { + $r->log_error("Calendar: no title eval'd: $msgs->{title}"); + return SERVER_ERROR; + } + $opts->{Title} = $title; + my $log = $r->log; # get guery string *************** *** 176,182 **** # might be able to use a pdf maker to print calendars - - my $link_vars = Apache::AppWrap::Subs::cclinks($opts); - $opts->{Title} = 'Calendar of ' . $link_vars->{label}; $opts->{Rows} = \@rows; --- 193,196 ---- |
From: <pla...@us...> - 2002-12-08 02:29:25
|
Update of /cvsroot/appwrap/AppWrap/Apache/AppWrap In directory sc8-pr-cvs1:/tmp/cvs-serv26821 Modified Files: DBILogConfig.pm Log Message: use prepare_cached for DBI inserts and updates Index: DBILogConfig.pm =================================================================== RCS file: /cvsroot/appwrap/AppWrap/Apache/AppWrap/DBILogConfig.pm,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** DBILogConfig.pm 26 Nov 2002 13:44:03 -0000 1.10 --- DBILogConfig.pm 8 Dec 2002 02:29:22 -0000 1.11 *************** *** 18,24 **** ! $Apache::AppWrap::DBILogConfig::VERSION = "0.09"; ##### ! # 16 Nov 02 handle HEAD requests correctly. # 12 Nov 02 Fixed bug writing bytes_sent to table dailystats. Also don't write if bytes_sent=0 (HEAD requests). # 12 Nov 02 Order of variable assignment was wrong. Now correctly defaults to table my_defaults if not set in Apache config file. --- 18,25 ---- ! $Apache::AppWrap::DBILogConfig::VERSION = "0.10"; ##### ! # 07Dec02 Cache DB statements. ! # 16Nov02 handle HEAD requests correctly. # 12 Nov 02 Fixed bug writing bytes_sent to table dailystats. Also don't write if bytes_sent=0 (HEAD requests). # 12 Nov 02 Order of variable assignment was wrong. Now correctly defaults to table my_defaults if not set in Apache config file. *************** *** 113,120 **** if ($r->bytes_sent) { my $today = str2time( time2str("%d-%h-%y", time() ) ); ! my $sent = 'UPDATE dailystats SET bytes=bytes+' . $r->bytes_sent; ! $sent .= ' WHERE stats_date=' . $today; ! $log->debug("\n\&DBILogConfig: statement=$sent") if $debug; ! $dbh->do($sent); } --- 114,129 ---- if ($r->bytes_sent) { my $today = str2time( time2str("%d-%h-%y", time() ) ); ! my $sql = 'UPDATE dailystats SET bytes=bytes+' . $r->bytes_sent; ! $sql .= ' WHERE stats_date=?'; ! # $sql .= ' WHERE stats_date=' . $today; ! $log->debug("\n\&DBILogConfig: statement=$sql") if $debug; ! my $sth = $dbh->prepare_cached($sql); ! my $rc = $sth->execute($today); ! # $dbh->do($sent); ! unless ($rc) { ! my $msg = "DBILogConfig couldn't update dailystats->bytes"; ! $r->log_error($msg); ! } ! } *************** *** 178,192 **** @format_list = grep eval $_->{'conditions'}, @format_list; # Create string of fields ! my $fields = join ', ', map $_->{'field'}, @format_list; # Create string of values ! my $values = join ', ', map { ! $dbh->quote($Formats{$_->{'format'}}->($r, $_->{'param'})) ! } @format_list; ! # thi is the SQL statement ! my $statement = qq(INSERT INTO $table ($fields) VALUES ($values)); ! $log->debug("\n\&DBILogConfig: statement=$statement") if $debug; # do the SQL ! $dbh->do($statement); return OK; --- 187,223 ---- @format_list = grep eval $_->{'conditions'}, @format_list; # Create string of fields ! # my $fields = join ', ', map $_->{'field'}, @format_list; ! my (@fields, @binds, @values); ! foreach my $list_item (@format_list) { ! push @fields, $list_item->{field}; ! push @binds, '?'; ! my $format = $list_item->{format}; ! my $param = $list_item->{param}; ! my $value = $Formats{$format}->($r, $param); ! push @values, $value; ! # $dbh->quote($Formats{$_->{'format'}}->($r, $_->{'param'})) ! } ! my $field_str = join(", ", @fields); ! my $bind_str = join(",", @binds); ! # my $value_str = join(", ", @values); ! # Create string of values ! # my $values = join ', ', map { ! # $dbh->quote($Formats{$_->{'format'}}->($r, $_->{'param'})) ! # } @format_list; ! # this is the SQL statement ! my $sql = "INSERT INTO $table ($field_str) VALUES ($bind_str)"; ! # my $sql = qq(INSERT INTO $table ($fields) VALUES ($values)); ! $log->debug("\nDBILogConfig: statement=$sql") if $debug; # do the SQL ! # $dbh->do($statement); ! my $sth = $dbh->prepare_cached($sql); ! my $rc = $sth->execute(@values); ! # $dbh->do($sent); ! unless ($rc) { ! my $msg = "DBILogConfig couldn't insert into $table"; ! $r->log_error($msg); ! } return OK; |
From: <pla...@us...> - 2002-12-08 02:28:56
|
Update of /cvsroot/appwrap/AppWrap/Apache/AppWrap In directory sc8-pr-cvs1:/tmp/cvs-serv26713 Modified Files: Counter.pm Log Message: use prepare_cached for DBI inserts and updates; moved &write_stats from Subs Index: Counter.pm =================================================================== RCS file: /cvsroot/appwrap/AppWrap/Apache/AppWrap/Counter.pm,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** Counter.pm 7 Dec 2002 01:45:40 -0000 1.9 --- Counter.pm 8 Dec 2002 02:28:53 -0000 1.10 *************** *** 10,13 **** --- 10,14 ---- use strict; use warnings; + no warnings qw(redefine); use AppWrap qw(%config); use Apache::AppWrap::Subs qw($dbh); *************** *** 17,23 **** use vars qw($VERSION); ! $Apache::AppWrap::Counter::VERSION = '0.11'; ! # 16Nov02. ignore backslash escapes in $config{rootdir} # 16Nov02. Don't record download on HEAD requests # 12Nov02. Don't call &write_stats on HEAD requests --- 18,24 ---- use vars qw($VERSION); ! $Apache::AppWrap::Counter::VERSION = '0.12'; ! # 07Dec02. ignore backslash escapes in $config{rootdir} # 16Nov02. Don't record download on HEAD requests # 12Nov02. Don't call &write_stats on HEAD requests *************** *** 32,36 **** # $config{imageurl} existed), then this block wouldn't apply. # Therefore we needn't filter for that case. ! # my $image_dir = $config{imageurl} || $config{homeurl}; # $image_dir .= '/' . $config{images}; my $image_dir = '/' . $config{images}; --- 33,39 ---- # $config{imageurl} existed), then this block wouldn't apply. # Therefore we needn't filter for that case. ! # my $image_dir = $config{imageurl}; ! # return DECLINED if $image_dir && $uri =~ $config{images}; ! # $image_dir ||= $config{homeurl}; # $image_dir .= '/' . $config{images}; my $image_dir = '/' . $config{images}; *************** *** 41,45 **** # to avoid overwriting the %config value. my $includes = $config{includes}; ! $includes =~ s/^q{$config{rootdir}}//; return DECLINED if $uri =~ $includes; --- 44,48 ---- # to avoid overwriting the %config value. my $includes = $config{includes}; ! $includes =~ s/^$config{rootdir}//; return DECLINED if $uri =~ $includes; *************** *** 56,61 **** my $today = &str2time( &time2str("%d-%h-%y", time() ) ); my $sql = 'UPDATE dailystats SET downloads=downloads+1'; ! $sql .= ' WHERE stats_date=' . $today; ! $rc = $dbh->do($sql); unless ($rc) { $r->log_error("Counter couldn't update dailystats->download"); --- 59,70 ---- my $today = &str2time( &time2str("%d-%h-%y", time() ) ); my $sql = 'UPDATE dailystats SET downloads=downloads+1'; ! $sql .= ' WHERE stats_date=?'; ! # $sql .= ' WHERE stats_date=' . $today; ! ! # see if this speeds things any ! my $sth = $dbh->prepare_cached($sql); ! $rc = $sth->execute( $dbh->quote($today) ); ! ! # $rc = $dbh->do($sql); unless ($rc) { $r->log_error("Counter couldn't update dailystats->download"); *************** *** 66,70 **** # the hits in table counts unless ($r->header_only) { ! $rc = &Apache::AppWrap::Subs::write_stats(); $r->log_error("Some trouble \&Webify calling \&write_stats") if $rc; } --- 75,79 ---- # the hits in table counts unless ($r->header_only) { ! $rc = write_stats(); $r->log_error("Some trouble \&Webify calling \&write_stats") if $rc; } *************** *** 76,82 **** # also register app specific hits in the appropriate app $uri =~ s#^(/\w+)\/.*$#$1#; ! my $app_q = $dbh->quote( $uri ); ! $sql = 'UPDATE counts SET hits=hits+1 WHERE location=' . $app_q; ! $rc = $dbh->do($sql); my $msg = 'Apache::Counter couldn\'t update counts->'; $msg .= $uri; --- 85,93 ---- # also register app specific hits in the appropriate app $uri =~ s#^(/\w+)\/.*$#$1#; ! $sql = 'UPDATE counts SET hits=hits+1 WHERE location=?'; ! # $sql = 'UPDATE counts SET hits=hits+1 WHERE location=' . $uri; ! my $sth = $dbh->prepare_cached($sql); ! $rc = $sth->execute($uri); ! # $rc = $dbh->do($sql); my $msg = 'Apache::Counter couldn\'t update counts->'; $msg .= $uri; *************** *** 85,88 **** --- 96,144 ---- return DECLINED; } + + + ############################### + # Usage: my $return_code = &write_stats() update the dailystats + # table page views and bytes sent. This sub is called by &Webify after + # everything else has been sent to the client + # 07Dec02. Moved from Subs; used cached DB statements + # 01Jun02. First entry now only INSERTs, does not also UPDATE. + # 23Aug01. Created. + ############################### + sub write_stats { + my $now = time(); + # convert "now" to an integer date, then get number of + # seconds from that integdate + my $today_str = time2str("%d-%h-%y", $now); + my $today = str2time($today_str); + my $r = Apache->request; + my $log = $r->log; + # we moved &write_stats() processing into a PerlChildInit + # handler. As the first ophase of the request we no longer + # know how many bytes will be in the response. Need to do + # that towards the end of the request loop + my $bytes_sent = $r->bytes_sent; + + my $rc; + # check for a "today" entry in dailystats + my $ref = Apache::AppWrap::Subs::sqlSelectArrayRef('MAX(stats_date)', 'dailystats'); + unless ($ref->[0][0] == $today) { + # $dbh->do returns rows effected, or undef on error + my $sql = 'INSERT INTO dailystats (stats_date) VALUES (?)'; + my $sth = $dbh->prepare_cached($sql); + $rc = $sth->execute($today); + # we won't log this as an error because it normally should fail + $r->log_error("\&write_stats couldn't insert into dailystats $today_str") unless $rc; + return $rc ? 0 : 1; + } + # if we got here there already is a today entry, so update the value + my $sql = 'UPDATE dailystats SET views=views+1'; + $sql .= ' WHERE stats_date=?'; + my $sth = $dbh->prepare_cached($sql); + $rc = $sth->execute($today); + $r->log_error("\&write_stats couldn't update dailystats") unless $rc; + return $rc ? 0 : 1; + } # end &write_stats; + 1; |
From: <pla...@us...> - 2002-12-07 02:17:10
|
Update of /cvsroot/appwrap/AppWrap/Apache/AppWrap In directory sc8-pr-cvs1:/tmp/cvs-serv15892 Modified Files: Calendar.pm Log Message: Changes for CSS Index: Calendar.pm =================================================================== RCS file: /cvsroot/appwrap/AppWrap/Apache/AppWrap/Calendar.pm,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Calendar.pm 6 Nov 2002 02:24:24 -0000 1.5 --- Calendar.pm 7 Dec 2002 02:17:07 -0000 1.6 *************** *** 9,14 **** use strict; use CGI::Carp qw(fatalsToBrowser); ! use Date::Format; ! use Date::Parse; use Date::Calc qw(Add_Delta_YMD); use HTML::AsSubs; --- 9,14 ---- use strict; use CGI::Carp qw(fatalsToBrowser); ! use Date::Format qw(time2str); ! use Date::Parse qw(str2time); use Date::Calc qw(Add_Delta_YMD); use HTML::AsSubs; *************** *** 22,28 **** use vars qw($VERSION); ! $Apache::AppWrap::Calendar::VERSION = '0.05'; ############################ ! # 05 Nov 02. handle HEAD requests ############################ --- 22,29 ---- use vars qw($VERSION); ! $Apache::AppWrap::Calendar::VERSION = '0.06'; ############################ ! # 06Nov02. Migrate to CSS-based presentation ! # 05Nov02. handle HEAD requests ############################ *************** *** 44,48 **** my $log = $r->log; # get guery string ! # my $query_args = &Apache::AppWrap::Subs::url_args($opts); my $query_args = $opts->{args}{calendar} if $opts->{args}{calendar}; --- 45,49 ---- my $log = $r->log; # get guery string ! # my $query_args = Apache::AppWrap::Subs::url_args($opts); my $query_args = $opts->{args}{calendar} if $opts->{args}{calendar}; *************** *** 50,54 **** my $current_month = $opts->{args}{month} || time(); # $m is a hash ref to many pre-defined dates ! my $m = &month_dates($opts, $current_month); # now add the previous month link content --- 51,55 ---- my $current_month = $opts->{args}{month} || time(); # $m is a hash ref to many pre-defined dates ! my $m = month_dates($opts, $current_month); # now add the previous month link content *************** *** 57,61 **** # label is full month and year my $label = $m->{previous_month_label} . ' '; ! $label .= &Date::Format::time2str("%Y", $m->{previous_month_end_epoch}); my $prev_link = '<a href="' . $url . '">' . $label . '</a>'; --- 58,62 ---- # label is full month and year my $label = $m->{previous_month_label} . ' '; ! $label .= time2str("%Y", $m->{previous_month_end_epoch}); my $prev_link = '<a href="' . $url . '">' . $label . '</a>'; *************** *** 65,71 **** # label is full month and year $label = $m->{next_month_label} . ' '; ! $label .= &Date::Format::time2str("%Y", $m->{next_month_start_epoch}); my $next_link = '<a href="' . $url . '">' . $label . '</a>'; # now we can push these links out to @rows in a table push @rows, ' <table width="95%" border="0">' . $HNL . ' <tr valign="bottom">'; --- 66,75 ---- # label is full month and year $label = $m->{next_month_label} . ' '; ! $label .= time2str("%Y", $m->{next_month_start_epoch}); my $next_link = '<a href="' . $url . '">' . $label . '</a>'; + # Add a div for CSS + push @rows, '<div id="pager">' . $HNL; + # now we can push these links out to @rows in a table push @rows, ' <table width="95%" border="0">' . $HNL . ' <tr valign="bottom">'; *************** *** 98,102 **** ! my $ref = &Apache::AppWrap::Subs::sqlSelectHashRef( $select, $from, $where); # $ref is an array of hash refs of the form $row->{col_name} = $date, # one hash element for each date type field in the table. --- 102,106 ---- ! my $ref = Apache::AppWrap::Subs::sqlSelectHashRef( $select, $from, $where); # $ref is an array of hash refs of the form $row->{col_name} = $date, # one hash element for each date type field in the table. *************** *** 148,154 **** $args{current_month} = $current_month; ! $ref = &Apache::AppWrap::Calendar::first_try( $opts, \%args); push @rows, join("", @$ref) if $ref && scalar(@$ref); ######## left side links (vbar phase) ######### my $menu_func = $my_tables->{$table}{func_calendar}; --- 152,161 ---- $args{current_month} = $current_month; ! $ref = first_try( $opts, \%args); push @rows, join("", @$ref) if $ref && scalar(@$ref); + # Close CSS <div> + push @rows, '</div>' . $HNL; + ######## left side links (vbar phase) ######### my $menu_func = $my_tables->{$table}{func_calendar}; *************** *** 158,176 **** # wrapped in <td> tags if ($menu_func) { ! my @subs = split(/;/, $menu_func ); foreach (@subs) { my $ref = eval $_; #$log->debug("\nCore_lib::calendar: menu_func eval error = $@") if ($@); ! push @{ $opts->{menuitems} }, join("", @$ref) if $ref and scalar(@$ref); } } # might be able to use a pdf maker to print calendars - # my $download_links = &Apache::AppWrap::Subs::make_download_links($opts); - # foreach (@$download_links) { - # push @{ $opts->{menuitems} }, $_ . $HNL; - # } ! my $link_vars = &Apache::AppWrap::Subs::cclinks($opts); $opts->{Title} = 'Calendar of ' . $link_vars->{label}; $opts->{Rows} = \@rows; --- 165,181 ---- # wrapped in <td> tags if ($menu_func) { ! my @subs = split(/\s*;\s*/, $menu_func ); foreach (@subs) { my $ref = eval $_; #$log->debug("\nCore_lib::calendar: menu_func eval error = $@") if ($@); ! if ($ref and scalar(@$ref)) { ! push @{ $opts->{menuitems} }, join("", @$ref); ! } } } # might be able to use a pdf maker to print calendars ! my $link_vars = Apache::AppWrap::Subs::cclinks($opts); $opts->{Title} = 'Calendar of ' . $link_vars->{label}; $opts->{Rows} = \@rows; *************** *** 182,186 **** } ! &Apache::AppWrap::Subs::Webify($opts); return OK; } # end handler --- 187,191 ---- } ! Apache::AppWrap::Subs::Webify($opts); return OK; } # end handler *************** *** 255,259 **** # get the day of month of the current date ! my $item = &Date::Format::time2str("%d", $date); $item =~ s/^0//; # start any displayed text below the date --- 260,264 ---- # get the day of month of the current date ! my $item = time2str("%d", $date); $item =~ s/^0//; # start any displayed text below the date *************** *** 312,332 **** #$log->debug("next year: $m{next_year_mid_num}"); ! $m{current_year_start_epoch} = &str2time('01/01/' . $m{current_year_mid_num}); ! $m{current_year_end_epoch} = &str2time('12/31/' . $m{current_year_mid_num}); ! $m{previous_year_start_epoch} = &str2time('01/01/' . $m{previous_year_mid_num}); ! $m{previous_year_end_epoch} = &str2time('12/31/' . $m{previous_year_mid_num}); ! $m{next_year_start_epoch} = &str2time('01/01/' . $m{next_year_mid_num}); ! $m{next_year_end_epoch} = &str2time('12/31/' . $m{next_year_mid_num}); ############################### # month info ! $m{current_month_mid_num} = &time2str("%m", $in_date); ! $m{current_month_start_epoch} = &str2time($m{current_month_mid_num} . '/01/' . $m{current_year_mid_num}); $m{previous_month_end_epoch} = $m{current_month_start_epoch} - 1; # add 1 second to the end of the current month to yield the start of the next month ! my ($mid_year,$next_month,$mid_day) = &Date::Calc::Add_Delta_YMD($m{current_year_mid_num}, $m{current_month_mid_num}, '01', '0', '1', '0'); $m{next_month_mid_num} = $next_month; # this takes account of the current month being december --- 317,337 ---- #$log->debug("next year: $m{next_year_mid_num}"); ! $m{current_year_start_epoch} = str2time('01/01/' . $m{current_year_mid_num}); ! $m{current_year_end_epoch} = str2time('12/31/' . $m{current_year_mid_num}); ! $m{previous_year_start_epoch} = str2time('01/01/' . $m{previous_year_mid_num}); ! $m{previous_year_end_epoch} = str2time('12/31/' . $m{previous_year_mid_num}); ! $m{next_year_start_epoch} = str2time('01/01/' . $m{next_year_mid_num}); ! $m{next_year_end_epoch} = str2time('12/31/' . $m{next_year_mid_num}); ############################### # month info ! $m{current_month_mid_num} = time2str("%m", $in_date); ! $m{current_month_start_epoch} = str2time($m{current_month_mid_num} . '/01/' . $m{current_year_mid_num}); $m{previous_month_end_epoch} = $m{current_month_start_epoch} - 1; # add 1 second to the end of the current month to yield the start of the next month ! my ($mid_year,$next_month,$mid_day) = Date::Calc::Add_Delta_YMD($m{current_year_mid_num}, $m{current_month_mid_num}, '01', '0', '1', '0'); $m{next_month_mid_num} = $next_month; # this takes account of the current month being december *************** *** 335,345 **** # maybe don't need next_month_end_epoch, yet ! $m{previous_month_mid_num} = &time2str("%m", $m{previous_month_end_epoch}); ! $m{previous_month_start_epoch} = &str2time($m{previous_month_mid_num} . '/01/' . $m{current_year_mid_num}); ! $m{current_month_label} = &time2str("%B", $in_date); ! $m{previous_month_label} = &time2str("%B", $m{previous_month_start_epoch}); ! $m{next_month_label} = &time2str("%B", $m{next_month_start_epoch}); return \%m; --- 340,350 ---- # maybe don't need next_month_end_epoch, yet ! $m{previous_month_mid_num} = time2str("%m", $m{previous_month_end_epoch}); ! $m{previous_month_start_epoch} = str2time($m{previous_month_mid_num} . '/01/' . $m{current_year_mid_num}); ! $m{current_month_label} = time2str("%B", $in_date); ! $m{previous_month_label} = time2str("%B", $m{previous_month_start_epoch}); ! $m{next_month_label} = time2str("%B", $m{next_month_start_epoch}); return \%m; |
From: <pla...@us...> - 2002-12-07 02:09:07
|
Update of /cvsroot/appwrap/AppWrap/Apache/AppWrap In directory sc8-pr-cvs1:/tmp/cvs-serv13270 Modified Files: Catalyst.pm Log Message: Preload display text into $opts->{display_text} Index: Catalyst.pm =================================================================== RCS file: /cvsroot/appwrap/AppWrap/Apache/AppWrap/Catalyst.pm,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Catalyst.pm 5 Dec 2002 04:04:54 -0000 1.7 --- Catalyst.pm 7 Dec 2002 02:09:05 -0000 1.8 *************** *** 21,26 **** use vars qw($VERSION); ! $Apache::AppWrap::Catalyst::VERSION = '0.16'; ####### Flow and Conventions ###### # Typically the flow of sub names in the body phase is thus --- 21,28 ---- use vars qw($VERSION); ! $Apache::AppWrap::Catalyst::VERSION = '0.17'; + ############# + # 06Dec02 Preload display text into $opts->{display_text} ####### Flow and Conventions ###### # Typically the flow of sub names in the body phase is thus *************** *** 43,46 **** --- 45,53 ---- $opts->{args}{top_summary} = $1; } + + my $msgs = $opts->{display_text}; + $msgs ||= Apache::AppWrap::Subs::get_display_text($opts); + $opts->{display_text} ||= $msgs; + my @rows; # use this to store the displayed html |
From: <pla...@us...> - 2002-12-07 02:08:32
|
Update of /cvsroot/appwrap/AppWrap/Apache/AppWrap In directory sc8-pr-cvs1:/tmp/cvs-serv12522 Modified Files: Subs.pm Pager.pm Log Message: Many i18n and CSS changes Index: Subs.pm =================================================================== RCS file: /cvsroot/appwrap/AppWrap/Apache/AppWrap/Subs.pm,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** Subs.pm 5 Dec 2002 03:54:18 -0000 1.30 --- Subs.pm 7 Dec 2002 02:08:29 -0000 1.31 *************** *** 31,37 **** use File::Spec (); ! $Apache::AppWrap::Subs::VERSION = "0.52"; ###### # 02Dec02. (several) convert to my_tables table_type directive # 15Nov02. &favorites Split on optional whitespace surrounding comma. --- 31,38 ---- use File::Spec (); [...1555 lines suppressed...] *** 4612,4616 **** # $r->print($graph->gd->png); ######################## - # &Apache::AppWrap::Subs::Webify($opts); return \@rows; --- 4250,4253 ---- *************** *** 4631,4635 **** my $from = 'notifychange'; my $where = 'tablename=' . $tablename; ! my $ref = &Apache::AppWrap::Subs::sqlSelectHashRef($select, $from, $where); if ($ref && scalar(keys %$ref)) { # there may be entries to send to separate emails --- 4268,4272 ---- my $from = 'notifychange'; my $where = 'tablename=' . $tablename; ! my $ref = sqlSelectHashRef($select, $from, $where); if ($ref && scalar(keys %$ref)) { # there may be entries to send to separate emails Index: Pager.pm =================================================================== RCS file: /cvsroot/appwrap/AppWrap/Apache/AppWrap/Pager.pm,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** Pager.pm 5 Dec 2002 03:56:36 -0000 1.12 --- Pager.pm 7 Dec 2002 02:08:29 -0000 1.13 *************** *** 25,28 **** --- 25,29 ---- use Apache::Log (); use Apache::Util (); + use Apache::Constants qw(:common); $Apache::AppWrap::Pager::VERSION = "0.06"; *************** *** 69,77 **** my $my_defaults = $opts->{my_defaults}; - # temporary while some display text remains hardcoded - my $msgs = $opts->{display_text}; - $msgs ||= $opts->{msgs}; - # this didn't help - $opts->{msgs} ||= $msgs; my $kv = $opts->{valid_kv} || $opts->{args}{kv}; --- 70,73 ---- *************** *** 146,169 **** } ! # we could get link vars anywhere, but here is OK. ! my $link_vars = Apache::AppWrap::Subs::cclinks( $opts ); ! # some alt messages use these variables ! my $kt = $my_tables->{$table}{key_type}; ! my $kt_label; ! # my $kt_label = $my_columns->{$table}{$kt}{label}; ! if ($kt && exists $my_columns->{$table}{$kt}{label}) { ! $kt_label = $my_columns->{$table}{$kt}{label}; ! } ! my $sort_by = $sort_hash{$sb}{sql}; ! my $title = $msgs->{title}; ! $opts->{Title} = eval $title if $title; ! #$test=$opts->{phase}; ! #$log->debug("\npaginator: raw_title=$title, title=$opts->{Title}, phase=$test"); ! # my $sort_label = 'Sorted by ' . $sort_hash{$sb}{label}; ! my $subtitle = $msgs->{subtitle}; ! $opts->{SubTitle} = eval $subtitle if $subtitle; # sort the provided data according to the selected sort order --- 142,177 ---- } ! # some alt messages use these variables ! my $kt = $my_tables->{$table}{key_type}; ! my $kt_label; ! if ($kt && exists $my_columns->{$table}{$kt}{label}) { ! $kt_label = $my_columns->{$table}{$kt}{label}; ! } ! my $sort_by = $sort_hash{$sb}{sql}; ! # this is how we get display text ! my $msgs = $opts->{display_text}; ! $msgs ||= Apache::AppWrap::Subs::get_display_text($opts); ! $opts->{display_text} ||= $msgs; ! $opts->{msgs} = $msgs; ! ! my $link_vars = Apache::AppWrap::Subs::cclinks($opts); ! ! my $title = eval $msgs->{title} if $msgs->{title}; ! unless ($title) { ! $r->log_error("Pager: no title eval'd: $msgs->{title}"); ! return SERVER_ERROR; ! } ! $opts->{Title} = $title; ! ! my $subtitle = eval $msgs->{subtitle} if $msgs->{subtitle}; ! unless ($subtitle) { ! $r->log_error("Pager: no subtitle eval'd: $msgs->{subtitle}"); ! return SERVER_ERROR; ! } ! # app color, app name, col name ! $opts->{SubTitle} = $subtitle; # sort the provided data according to the selected sort order *************** *** 296,305 **** my $left; if (exists $my_tables->{$table}{table_type} && ! $my_tables->{$table}{table_type} eq 'meta_data') { # if ($my_tables->{$table}{user_data}) { my $dv_icons = visualize($opts); - # my $dv_icons = apache::appwrap::subs::visualize($opts); $left = join("", @$dv_icons) if $dv_icons && scalar(@$dv_icons); - # my $left = join("", @$dv_icons) if $dv_icons && scalar(@$dv_icons); } push @rows, ' <td width="30%" align="left">'; --- 304,311 ---- my $left; if (exists $my_tables->{$table}{table_type} && ! $my_tables->{$table}{table_type} =~ m/^(user|meta)_data$/) { # if ($my_tables->{$table}{user_data}) { my $dv_icons = visualize($opts); $left = join("", @$dv_icons) if $dv_icons && scalar(@$dv_icons); } push @rows, ' <td width="30%" align="left">'; *************** *** 794,806 **** my $table = $opts->{table}; my $label = $my_tables->{$table}{label}; - # # bug out if this is a report - # return '' if $my_tables->{$table}{table_type} eq 'report'; my $image_dir = $config{imageurl} || $config{homeurl}; $image_dir .= '/' . $config{images}; # my $image_dir = $config{homeurl} . '/' . $config{images}; - - # # bail if this is a tab summary, visualization useless. - # return if exists $opts->{args}{top_summary}; my $r = Apache::Request->instance( Apache->request ); --- 800,807 ---- |
From: <pla...@us...> - 2002-12-07 02:05:31
|
Update of /cvsroot/appwrap/AppWrap/Apache/AppWrap In directory sc8-pr-cvs1:/tmp/cvs-serv11778 Modified Files: Focus.pm Log Message: Many changes to clean up code, i18n, CSS Index: Focus.pm =================================================================== RCS file: /cvsroot/appwrap/AppWrap/Apache/AppWrap/Focus.pm,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Focus.pm 22 Nov 2002 10:05:56 -0000 1.6 --- Focus.pm 7 Dec 2002 02:05:29 -0000 1.7 *************** *** 9,13 **** use strict; use warnings; - # reduces Apache::StatINC noise no warnings qw(redefine); use Apache::Request; --- 9,12 ---- *************** *** 18,27 **** use vars qw($VERSION); ! $Apache::AppWrap::Focus::VERSION = '0.04'; ! ############################ ! # v0.04 28 Oct 02. correct response to HEAD request ! # v0.03 02 Oct 02. enable warnings pragma ! # v0.02 02 Jan 02. Changed from sub to content handler, pushed by Doorknob. ! # 28 Nov 01. Corrected messy logic in zero handling. ############################ sub handler { --- 17,27 ---- use vars qw($VERSION); ! $Apache::AppWrap::Focus::VERSION = '0.06'; ! # 04Dec02. CSS repairs to &seq_nav. ! # 02Dec02. CSS repairs. ! # 28Oct02. correct response to HEAD request ! # 02Oct02. enable warnings pragma ! # 02Jan02. Changed from sub to content handler, pushed by Doorknob. ! # 28Nov01. Corrected messy logic in zero handling. ############################ sub handler { *************** *** 40,44 **** my @rows; ! my $link_vars = &Apache::AppWrap::Subs::cclinks( $opts); #my $t1 = join(",", keys %{ $opts->{args} }); #$log->debug("\nFocus: idnum=$idnum, table=$table, args=$t1"); --- 40,44 ---- my @rows; ! my $link_vars = Apache::AppWrap::Subs::cclinks( $opts); #my $t1 = join(",", keys %{ $opts->{args} }); #$log->debug("\nFocus: idnum=$idnum, table=$table, args=$t1"); *************** *** 54,58 **** my $from = $table; my $where = 'idnum=' . $idnum; ! my $ref = &Apache::AppWrap::Subs::sqlSelectHashRef($select, $from, $where); my $row = $ref->[0]; --- 54,58 ---- my $from = $table; my $where = 'idnum=' . $idnum; ! my $ref = Apache::AppWrap::Subs::sqlSelectHashRef($select, $from, $where); my $row = $ref->[0]; *************** *** 63,67 **** # by &display, &focus and by &list, while retaining context # sensitivity. ! $opts->{msgs} = &Apache::AppWrap::Subs::make_focus_msgs($opts); # other instructions to &seq_nav. --- 63,67 ---- # by &display, &focus and by &list, while retaining context # sensitivity. ! $opts->{msgs} = make_focus_msgs($opts); # other instructions to &seq_nav. *************** *** 74,83 **** # show the sequential index that allows user to browse thew data # by my_columns->page_display columns ! my $sequence_bar = &Apache::AppWrap::Subs::seq_nav($opts); foreach (@{ $sequence_bar }) { push @rows, $_; } ! # start the table of data push @rows, ' <table valign="top" border="1">'; --- 74,84 ---- # show the sequential index that allows user to browse thew data # by my_columns->page_display columns ! my $sequence_bar = seq_nav($opts); foreach (@{ $sequence_bar }) { push @rows, $_; } ! # start the <div> tag so CSS can be used. ! push @rows, '<div id="pager">' . $HNL; push @rows, ' <table valign="top" border="1">'; *************** *** 110,114 **** { no warnings qw(numeric); - # no warnings; if ($func_focus) { $ary = eval $func_focus; --- 111,114 ---- *************** *** 143,146 **** --- 143,148 ---- } push @rows, $HNL . ' </table>' . $HNL; + # That's all the tabular data, so close the </div> + push @rows, $HNL . '</div>' . $HNL; # do titles. Normally would do this at the start of the sub. But we needed to *************** *** 167,171 **** # call functions if defined. Functions return array of to data wrapped in <td> tags if ($menu_func) { ! my @subs = split(";", $menu_func ); foreach my $sub (@subs) { #$log->debug("\nFocus: eval_sub=$sub"); --- 169,173 ---- # call functions if defined. Functions return array of to data wrapped in <td> tags if ($menu_func) { ! my @subs = split(/\s*;\s*/, $menu_func ); foreach my $sub (@subs) { #$log->debug("\nFocus: eval_sub=$sub"); *************** *** 185,191 **** } ! &Apache::AppWrap::Subs::Webify($opts); return OK; } # end handler --- 187,629 ---- } ! Apache::AppWrap::Subs::Webify($opts); return OK; } # end handler + + + ############################ + # my $ref = &seq_nav (\%opts) The displayed item is called an 'id' + # and is uniquely identified by an 'idnum' in the db. A control option + # is a way to search the db, such as contact, date, city, etc. These + # are user selectable to puruse the data along different dimensions. + # 09 Oct 01. "read_only' directive add, edit icons displaying + # 24 Jan 01. adjustments for my_tables changes + ############################ + sub seq_nav { + my $opts = shift; + my $table = $opts->{table}; + my $my_exceptions = $opts->{my_exceptions}; + my $my_tables = $opts->{my_tables}; + my $my_columns = $opts->{my_columns}; + my $my_defaults = $opts->{my_defaults}; + my $idnum = $opts->{args}{idnum}; + # idnum may have been passed with leading zeros, so strip them off + $idnum =~ s/^0+//; + my $sb = $opts->{args}{sb} || $my_tables->{$table}{default_sort} || 1; + my $page = $opts->{args}{page} || 0; + my $kv = $opts->{valid_kv}; + my $alt; + my $rows_per = $opts->{rows_per} ||= $my_defaults->{rows_per}; + my $image_dir = $config{homeurl} . '/' . $config{images}; + + my %out = id_browser($opts); + my %ids = $out{ids}; + my %sdi = reverse %ids; + my $this_id = $out{this_id}; + my $division = $out{division}; + my $calc_page = $out{calc_page}; + $page ||= $out{page}; + my $kv_esc = $out{kv_esc}; + my $by = $out{by}; + my @by = @{ $out{by_array} }; + my $qty_tr_by = $out{qty_tr_by}; + # get the sort hash. This is used to map different values. + # my $i = 1; + # my %sort_hash; + # foreach my $column (@{ $opts->{page_display} }) { + # $sort_hash{$i++} = Apache::AppWrap::Pager::fill_sort_new ($i,$column,$my_columns->{$table}{$column}{label}); + # $sort_hash{$i++} = Apache::AppWrap::Pager::fill_sort_new ($i,$column,$my_columns->{$table}{$column}{label}); + # } + # my $log = Apache->request->log; + ##$log->debug("\nseq_nav: idnum=$idnum"); + # + # # default display sequence. Use param('by') if set. Else + # # derive it from param('sb') + # my $by = $opts->{args}{by} || $sort_hash{$sb}{by}; + # $by =~ s/^by //; + # $opts->{args}{by} = $by; + # + # # get the sort column for the db dip + # my $order_by; + # $sb ? $order_by = $sort_hash{$sb}{column} . ' ASC' : $order_by = $by . ' ASC'; + # + # # get the list of control options. This is used to populate the + # # popup menu. + # my @by = grep { $my_columns->{$table}{$_}{page_sort} } @{ $opts->{col_order} }; + # + # my ($select,$from,$where,$other); + # # define this, next and previous id + # # first, query for values in this id + ## $select = '*'; + ## $from = $table; + ## $where = 'idnum=' . $idnum; + # my $sql_this_id = "SELECT * FROM $table WHERE idnum=$idnum"; + # my $sth = $dbh->prepare($sql_this_id); + # $sth->execute(); + # my $data_this_id = $sth->fetchrow_hashref; + # + # # next, having the data, we can determine the value of the control + # my $by_value = $data_this_id->{$by}; + # # while we have the data for this id might as well get the key_type + # my $kt = $my_tables->{$table}{key_type}; + # $kv = $data_this_id->{$kt} unless ($kv && $kt); + ## $kv = $data_this_id->{$kt} unless $kv; + # my $kv_esc = Apache::Util::escape_uri( $kv ) if $kv; + # + # # then, to get the prev and next idnum we need to query to get + # # them all for this 'by' control. Quote the 'by' value + # my $by_value_q = $dbh->quote($by_value); + # my $sql_all_id = "SELECT idnum FROM $table ORDER BY $order_by"; + # if ($by eq 'idnum') { + # $sql_this_id = "SELECT idnum FROM $table ORDER BY $order_by"; + # } + # else { + # $sql_all_id = "SELECT idnum FROM $table WHERE $by=$by_value_q ORDER BY $by ASC"; + # } + # + # my $data_all_id = $dbh->selectall_arrayref($sql_all_id); + # my $qty_tr_by = scalar(@$data_all_id); + # # get a hash of the idnums + # my %ids; + # $i = 1; + # foreach my $row (@{ $data_all_id }) { + # $ids{$i++} = $row->[0]; + # } + # + # # reverse the hash to easily get the id from the idnum + # my %sdi = reverse %ids; + # my $this_id = $sdi{$idnum}; + # my $division = ($this_id / $rows_per); + # my $calc_page = sprintf("%u", $division); + # $page ||= $calc_page; + + # ----------------------------------------------------------------- + # ---- define all the icons, their links and the alt tags ---- + # ----------------------------------------------------------------- + # the alt message can come from the calling function (via the + # appropriate entry in table my_exceptions) or via the default. This + # makes it less intensive to create a new application - don't + # have to define so many messages! + # get the information for the new icon, which creates a new id + # only show new icon if allowed + my $label = $my_tables->{$table}{label}; + my ($alt_new, $new_link, $temp); + unless ($opts->{read_only}) { + $alt_new = eval $opts->{msgs}{alt_new}; + $new_link = ' <a href="/'; + $new_link .= $table if $table; + $new_link .= '/add"><img src="'; + $new_link .= $image_dir; + $new_link .= '/new.gif" alt="'; + $new_link .= $alt_new if $alt_new; + $new_link .= '" width="21" height="17" border="0" /></a>'; + } + + # get the information for the edit icon, which edits this id + my $edit_link; + unless ($opts->{read_only}) { + my $alt_edit = eval $opts->{msgs}{alt_edit}; + # set the link; the rest is the same regardless + $edit_link = $opts->{edit_link}; + $edit_link ||= '<a href="/' . $table . '/edit?idnum=' . $idnum . '">'; + $edit_link .= '<img src="' . $image_dir . '/edit.gif" width="21" height="17"'; + $edit_link .= 'alt="' . $alt_edit . '" border="0" /></a>'; + } + + # get the information for the up icon, which returns to the previous + # paginated display + my $alt_uplink = eval $opts->{msgs}{alt_uplink}; + $temp = '<a href="/'; + $temp .= $table if $table; + $temp .= '/display?kv='; + $temp .= $kv_esc if $kv_esc; + $temp .= '&sb='; + $temp .= $sb if $sb; + $temp .= '">'; + my $uplink = $opts->{uplink} || $temp; + $uplink .= '<img src="' . $image_dir . '/up.gif" width="21" height="17"'; + $uplink .= ' alt="' . $alt_uplink . '" border="0" /></a>'; + + # define the next and previous links + # First build the previous icon + my ($prev_id, $prev_link); + $prev_id = $this_id - 1; + if ($prev_id && exists $ids{$prev_id}) { + my $prev_idnum = $ids{$prev_id}; + my $alt_prev = eval $opts->{msgs}{alt_previous}; + $prev_link = '<a href="/'; + $prev_link .= $table if $table; + $prev_link .= '/focus?idnum='; + $prev_link .= $prev_idnum if $prev_idnum; + $prev_link .= '&by='; + $prev_link .= $by if $by; + $prev_link .= '">'; + $prev_link .= '<img src="' . $image_dir . '/previous.gif" width="21" height="17"'; + $prev_link .= ' alt="' . $alt_prev . '" border="0" /></a>'; + } + # and if one doesn't + else { + my $alt_no_prev = eval $opts->{msgs}{alt_no_previous}; + $prev_link = '<img src="' . $image_dir . '/greyprevious.gif" width="21" height="17"'; + $prev_link .= ' alt="' . $alt_no_prev . '" border="0" /></a>'; + + } + + # build the next icon for an existing link + my ($next_id, $next_link); + $next_id = $this_id + 1; + if ($next_id && exists $ids{$next_id}) { + my $next_idnum = $ids{$next_id}; + my $alt_next = eval $opts->{msgs}{alt_next}; + $next_link = '<a href="/'; + $next_link .= $table if $table; + $next_link .= '/focus?idnum='; + $next_link .= $next_idnum if $next_idnum; + $next_link .= '&by='; + $next_link .= $by if $by; + $next_link .= '">'; + $next_link .= '<img src="' . $image_dir . '/next.gif" width="21" height="17"'; + $next_link .= ' alt="' . $alt_next . '" border="0" /></a>'; + + } + # and the next icon for a non-existing link + else { + my $alt_no_next = eval $opts->{msgs}{alt_no_next}; + my $next_idnum = ''; + $next_link = '<img src="' . $image_dir; + $next_link .= '/greynext.gif" '; + $next_link .= 'alt="' . $alt_no_next . '" border="0" />'; + } + + # get the sequence info + my $sequence = ' <b>'; + $sequence .= $this_id if $this_id; + $sequence .= '</b> of <b>'; + $sequence .= $qty_tr_by if $qty_tr_by; + $sequence .= '</b> ' . $HNL; + + # create the popup menu + my $menu = ' <select name="by">' . $HNL; + my $selected = ''; + # @values is the list of product_id to display + foreach my $value (@by) { + next if $value =~ /$my_defaults->{default_picklist}/o; + # determine if a value is among the defaults by comparing each + # default ($_) with the current product number ($value) + $menu .= ' <option value="' . $value . '">'; + $menu .= $value . '</option>' . $HNL; + } + # this plugs in the default value + $menu .= ' <option selected="1" value="' . $by . '">'; + $menu .= $by . '</option>' . $HNL; + $menu .= ' </select>' . $HNL; + + # not sure about this, but if this form is used the following + # URL must have the idnum, so let's save it here as a hidden + # field. When only sent as a query string arg it might be + # getting scraped off by POST2GET + $menu .= ' <input type="hidden" name="idnum"'; + $menu .= ' value="' . $idnum . '" />' . $HNL; + + $menu .= ' <input type="submit" name="submit" value="Go" />' . $HNL; + # ------ END of icon and link definition. Now disply 'em ------------- + + my @rows; + # start the <div> + my $text = '<!-- right float, so <div>s must be in rev order -->'; + push @rows, $text . $HNL; + push @rows, '<div id="seqnav">' . $HNL; + + # give us a heading + push @rows, ' <h1>Sequential Navigation</h1>' . $HNL; + # start the table and row and add the links + + $text = ' <form name="Sequence" action="/' . $table; + $text .= '/focus?idnum=' . $idnum . '" method="POST"'; + $text .= ' enctype="application/x-www-form-urlencoded">'; + push @rows, $text . $HNL; + + push @rows, + $new_link, # link to new id + $edit_link, # link to edit this id + $uplink, # link to app listing for this kv + $prev_link, # link to previous id + $next_link, + $sequence, + $menu; + + push @rows, ' </form>' . $HNL; + + # close the <div> + push @rows, '</div>' . $HNL; + $text = '<!-- end of seq-nav section -->'; + push @rows, $text . $HNL; + + return \@rows; + } # end &seq_nav + + + ############################ + # my $ref = &id_browser (\%opts) + # This sub is called during AppWrap phase "Focus". It determines how to sort the dataset, the number of table records in the selected dataset, and the numer of the current record in the selected dataset + + # The item is called an 'id' + # and is uniquely identified by an 'idnum' in the db. A control option + # is a way to search the db, such as contact, date, city, etc. These + # are user selectable to peruse the data along different dimensions. + # 05Dec02. Created from &seq_nav + ############################ + sub id_browser { + my $opts = shift; + my $table = $opts->{table}; + my $my_exceptions = $opts->{my_exceptions}; + my $my_tables = $opts->{my_tables}; + my $my_columns = $opts->{my_columns}; + my $my_defaults = $opts->{my_defaults}; + my $idnum = $opts->{args}{idnum}; + # idnum may have been passed with leading zeros, so strip them off + $idnum =~ s/^0+//; + my $sb = $opts->{args}{sb} || $my_tables->{$table}{default_sort} || 1; + my $page = $opts->{args}{page} || 0; + my $kv = $opts->{valid_kv}; + my $alt; + my $rows_per = $opts->{rows_per} ||= $my_defaults->{rows_per}; + my $image_dir = $config{homeurl} . '/' . $config{images}; + + my $log = Apache->request->log; + my $test; + + # store the output in a hash + my %out; + # get the sort hash. This is used to map different values. + my $i = 1; + my %sort_hash; + foreach my $column (@{ $opts->{page_display} }) { + $sort_hash{$i++} = Apache::AppWrap::Pager::fill_sort_new ($i,$column,$my_columns->{$table}{$column}{label}); + $sort_hash{$i++} = Apache::AppWrap::Pager::fill_sort_new ($i,$column,$my_columns->{$table}{$column}{label}); + } + #$log->debug("\nseq_nav: idnum=$idnum"); + + # default display sequence. Use param('by') if set. Else + # derive it from param('sb') + my $by = $opts->{args}{by} || $sort_hash{$sb}{by}; + $by =~ s/^by //; + $opts->{args}{by} = $by; + + # get the sort column for the db dip + my $order_by; + $sb ? $order_by = $sort_hash{$sb}{column} . ' ASC' : $order_by = $by . ' ASC'; + + # get the list of control options. This is used to populate the + # popup menu. + my @by = grep { + $my_columns->{$table}{$_}{page_sort} + } @{ $opts->{col_order} }; + #$test = join(", ", @by); + #$log->debug("id_browser: by=$test"); + + my ($select,$from,$where,$other); + # define this, next and previous id + # first, query for values in this id + # $select = '*'; + # $from = $table; + # $where = 'idnum=' . $idnum; + my $sql_this_id = "SELECT * FROM $table WHERE idnum=$idnum"; + my $sth = $dbh->prepare($sql_this_id); + $sth->execute(); + my $data_this_id = $sth->fetchrow_hashref; + + # next, having the data, we can determine the value of the control + my $by_value = $data_this_id->{$by}; + # while we have the data for this id might as well get the key_type + my $kt = $my_tables->{$table}{key_type}; + $kv = $data_this_id->{$kt} unless ($kv && $kt); + # $kv = $data_this_id->{$kt} unless $kv; + my $kv_esc = Apache::Util::escape_uri( $kv ) if $kv; + + # then, to get the prev and next idnum we need to query to get + # them all for this 'by' control. Quote the 'by' value + my $by_value_q = $dbh->quote($by_value); + my $sql_all_id = "SELECT idnum FROM $table ORDER BY $order_by"; + if ($by eq 'idnum') { + $sql_this_id = "SELECT idnum FROM $table ORDER BY $order_by"; + } + else { + $sql_all_id = "SELECT idnum FROM $table WHERE $by=$by_value_q ORDER BY $by ASC"; + } + + my $data_all_id = $dbh->selectall_arrayref($sql_all_id); + my $qty_tr_by = scalar(@$data_all_id); + # get a hash of the idnums + my %ids; + $i = 1; + foreach my $row (@{ $data_all_id }) { + $ids{$i++} = $row->[0]; + } + + $test = join(", ", keys %ids); + $log->debug("id_browser: test=$test"); + $log->debug("id_browser: idnum=$idnum, this_id=$ids{$idnum}, rows_per=$rows_per"); + # reverse the hash to easily get the id from the idnum + $out{ids} = %ids; + $out{this_id} = $ids{$idnum}; + $out{division} = ($out{this_id} / $rows_per); + $out{calc_page} = sprintf("%u", $out{division}); + $out{page} = $page || $out{calc_page}; + $out{kv_esc} = $kv_esc; + $out{by} = $by; + $out{by_array} = @by; + $out{qty_tr_by} = $qty_tr_by; + + return %out; + } # end &id_browser + + + ################################### + ## Usage: \%msgs = &make_focus_msgs(\%opts); + # returns a ref to a hash of messages to display on pages + # 14 May 01. Deleted this $kv from alt_new. + ################################### + sub make_focus_msgs { + my $opts = shift; + my $table = $opts->{table}; + my $kt = $opts->{my_tables}{$table}{key_type}; + my $kv = $opts->{valid_kv}; + my $idnum = $opts->{idnum}; + my $project_id = $opts->{project_id}; + my $my_exceptions = $opts->{my_exceptions}; + + # assign messages for alt tags. This allows subs to be called by + # &display, &focus and by &list, while retaining context sensitivity. + my %msgs; + my @alt_msgs; + foreach (keys %{ $my_exceptions->{$table}{focus} }) { + $msgs{$_} = $my_exceptions->{$table}{focus}{$_} if $_ =~ /^alt_/; + } + + # '$label' is defined where the msgs are eval'd + if ($kv) { + $msgs{alt_new} ||= '\'Create a new \' . $label . \' record\''; + $msgs{alt_edit} ||= '\'Edit this \' . $kv . \' \' . $label . \' record, idnum \' . $idnum'; + $msgs{alt_uplink} ||= '\'Return to the \' . $kv . \' \' . $label . \' listing\''; + $msgs{alt_previous} ||= '\'Previous \' . $label . \' record is idnum \' . $prev_idnum'; + $msgs{alt_no_previous} ||= '\'This is the first \' . $label . \' record in this series\''; + $msgs{alt_next} ||= '\'Next \' . $label . \' record is idnum \' . $next_idnum'; + $msgs{alt_no_next} ||= '\'This is the last \' . $label . \' record in this series\''; + } + else { # this is the case for 'key_type' = 'project_id' + $msgs{alt_new} ||= '\'Create a new \' . $label . \' record\''; + $msgs{alt_edit} ||= '\'Edit this \' . $label . \' record, idnum \' . $idnum'; + $msgs{alt_uplink} ||= '\'Return to the \' . $label . \' listing\''; + $msgs{alt_previous} ||= '\'Previous \' . $label . \' record is idnum \' . $prev_idnum'; + $msgs{alt_no_previous} ||= '\'This is the first \' . $label . \' record in this series\''; + $msgs{alt_next} ||= '\'Next \' . $label . \' record is idnum \' . $next_idnum'; + $msgs{alt_no_next} ||= '\'This is the last \' . $label . \' record in this series\''; + } + return \%msgs; + } + + + |
From: <pla...@us...> - 2002-12-07 02:04:20
|
Update of /cvsroot/appwrap/AppWrap/Apache/AppWrap In directory sc8-pr-cvs1:/tmp/cvs-serv11304 Modified Files: List.pm Log Message: i18n complete; CSS complete, cleaned up text display Index: List.pm =================================================================== RCS file: /cvsroot/appwrap/AppWrap/Apache/AppWrap/List.pm,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** List.pm 1 Dec 2002 00:57:25 -0000 1.9 --- List.pm 7 Dec 2002 02:04:17 -0000 1.10 *************** *** 18,27 **** ############################ ! # 15 Nov 02. use warnings pragma; split on optional whitespace for vbar subs. ! # 13 Nov 02. Moved title and other display text to &paginator ! # 06 Nov 02. Check for and cache text to display. ! # 05 Nov 02. stubbed in some language-independence code ! # 26 Oct 02. handle HEAD requests ! # 02 Jan 02. Created. ############################ sub handler { --- 18,28 ---- ############################ ! # 05Nov02. cleaned up text display ! # 15Nov02. use warnings; split on optional whitespace in vbar subs. ! # 13Nov02. Moved title and other display text to &paginator ! # 06Nov02. Check for and cache text to display. ! # 05Nov02. stubbed in some language-independence code ! # 26Oct02. handle HEAD requests ! # 02Jan02. Created. ############################ sub handler { *************** *** 38,46 **** my $my_defaults = $opts->{my_defaults}; - my $msgs = $opts->{display_text}; - $msgs ||= Apache::AppWrap::Subs::get_display_text($opts); - $opts->{display_text} ||= $msgs; - $opts->{msgs} = $msgs; - # order to display columns my $col_order = $opts->{col_order}; --- 39,42 ---- *************** *** 52,59 **** $opts->{new_url} ||= '/' . $table . '/add'; ! # set titles. Get it from db or use a default ! my $link_vars = Apache::AppWrap::Subs::cclinks( $opts); ! ! #$log->debug("\nList: table=$table, label=$link_vars->{label}."); ######## left side links (vbar phase) ######### --- 48,52 ---- $opts->{new_url} ||= '/' . $table . '/add'; ! #$log->debug("\nList."); ######## left side links (vbar phase) ######### *************** *** 68,72 **** # $sub must have some non-white-space next unless $sub =~ /\S+/; - #$log->debug("\nList: sub=$sub."); my $ref = eval $sub if $sub; if ($ref && scalar(@$ref)) { --- 61,64 ---- *************** *** 108,115 **** # from &paginator, total number of data rows, used by &get_navbar $opts->{total_rows} = $total_rows; - - # # get the page navigation data - # my $navbar = Apache::AppWrap::Subs::get_navbar ($opts); - # push @rows, join("", @$navbar) if $navbar && scalar(@$navbar); $opts->{Rows} = \@rows; --- 100,103 ---- |
From: <pla...@us...> - 2002-12-07 01:48:17
|
Update of /cvsroot/appwrap/AppWrap/Apache/AppWrap In directory sc8-pr-cvs1:/tmp/cvs-serv3719 Modified Files: Audit.pm Log Message: i18n complete; CSS complete Index: Audit.pm =================================================================== RCS file: /cvsroot/appwrap/AppWrap/Apache/AppWrap/Audit.pm,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Audit.pm 22 Nov 2002 10:05:55 -0000 1.5 --- Audit.pm 7 Dec 2002 01:48:14 -0000 1.6 *************** *** 8,13 **** use strict; ! use Date::Format; ! use Date::Parse; use Apache::Request; use Apache::Constants qw(:common); --- 8,14 ---- use strict; ! use warnings; ! use Date::Format qw(time2str); ! use Apache::Request; use Apache::Constants qw(:common); *************** *** 18,22 **** use vars qw($VERSION); ! $Apache::AppWrap::Audit::VERSION = '0.04'; ############################ --- 19,23 ---- use vars qw($VERSION); ! $Apache::AppWrap::Audit::VERSION = '0.05'; ############################ *************** *** 25,40 **** ############################ sub handler { ! my $r = Apache::Request->instance( Apache->request ); ! my $opts = $r->pnotes('opts'); ! my $table = $opts->{table}; ! my $idnum = $opts->{args}{idnum}; ! my $my_exceptions = $opts->{my_exceptions}; ! my $my_tables = $opts->{my_tables}; ! my $my_columns = $opts->{my_columns}; ! my $my_defaults = $opts->{my_defaults}; ! my $log = $r->log; #$log->debug("\nAudit: idnum=$idnum, table=$table"); # order to display columns --- 26,67 ---- ############################ sub handler { ! my $r = Apache::Request->instance( Apache->request ); ! my $opts = $r->pnotes('opts'); ! my $table = $opts->{table}; ! my $idnum = $opts->{args}{idnum}; ! my $my_exceptions = $opts->{my_exceptions}; ! my $my_tables = $opts->{my_tables}; ! my $my_columns = $opts->{my_columns}; ! my $my_defaults = $opts->{my_defaults}; #$log->debug("\nAudit: idnum=$idnum, table=$table"); + my $msgs = $opts->{display_text}; + $msgs ||= Apache::AppWrap::Subs::get_display_text($opts); + $opts->{display_text} ||= $msgs; + $opts->{msgs} = $msgs; + + # titles want to see these vars defined + my $link_vars = Apache::AppWrap::Subs::cclinks($opts); + my $link = '<a href="' . $config{homeurl} . '/'; + $link .= $table . '/focus?idnum=' . $idnum . '">'; + $link .= $idnum . '</a>'; + + my $title = eval $msgs->{title} if $msgs->{title}; + unless ($title) { + $r->log_error("Audit: no title eval'd: $msgs->{title}"); + return SERVER_ERROR; + } + $opts->{Title} = $title; + my $log = $r->log; + + my $subtitle = eval $msgs->{subtitle} if $msgs->{subtitle}; + unless ($subtitle) { + $r->log_error("Audit: no subtitle eval'd: $msgs->{subtitle}"); + return SERVER_ERROR; + } + # app color, app name, col name + $opts->{SubTitle} = $subtitle; + # order to display columns *************** *** 44,48 **** # format them like a table record, and write to an array of hash # refs. Array is ordered as most recent history enty first. ! $opts->{history} ||= &Apache::AppWrap::Subs::get_history( $opts); my $history = $opts->{history}; my @changes; --- 71,75 ---- # format them like a table record, and write to an array of hash # refs. Array is ordered as most recent history enty first. ! $opts->{history} ||= Apache::AppWrap::Subs::get_history( $opts); my $history = $opts->{history}; my @changes; *************** *** 51,55 **** foreach my $h_column (keys %{ $history->{$table}{$idnum} }) { foreach my $date (keys %{ $history->{$table}{$idnum}{$h_column} }) { ! # the hash is an array ref, but we only want the last possible element $record{$date}{$h_column} = $history->{$table}{$idnum}{$h_column}{$date}[-1]; } # date --- 78,83 ---- foreach my $h_column (keys %{ $history->{$table}{$idnum} }) { foreach my $date (keys %{ $history->{$table}{$idnum}{$h_column} }) { ! # the hash is an array ref, but we only want the last ! # possible element $record{$date}{$h_column} = $history->{$table}{$idnum}{$h_column}{$date}[-1]; } # date *************** *** 58,62 **** # get current record from source table my $where = 'idnum=' . $idnum; ! my $ref = &Apache::AppWrap::Subs::sqlSelectHashRef ('*', $table, $where); # @final is the combined data structure my @final; --- 86,90 ---- # get current record from source table my $where = 'idnum=' . $idnum; ! my $ref = Apache::AppWrap::Subs::sqlSelectHashRef ('*', $table, $where); # @final is the combined data structure my @final; *************** *** 84,88 **** } $val =~ s/\n/<br \/>/g if $val; ! my $result = &Apache::AppWrap::Subs::html_blank ($val); if ($result) { $converts{$column} = $result if $result; --- 112,116 ---- } $val =~ s/\n/<br \/>/g if $val; ! my $result = Apache::AppWrap::Subs::html_blank ($val); if ($result) { $converts{$column} = $result if $result; *************** *** 125,135 **** } $val =~ s/\n/<br \/>/g if $val; ! my $result = &Apache::AppWrap::Subs::html_blank ($val); - # if ($row->{$column}) { # if here, the field changed from the previous row, so mark same # field in previous row, ghost this field this row. ! # The $array[-1] construct represents the last entry in the array. ! $test = $row->{$column}; #$log->debug("\nAudit: (delta) row=$row, col=$column, row->{column}=$test"); --- 153,162 ---- } $val =~ s/\n/<br \/>/g if $val; ! my $result = Apache::AppWrap::Subs::html_blank ($val); # if here, the field changed from the previous row, so mark same # field in previous row, ghost this field this row. ! # The $array[-1] construct represents the last entry in the array. ! #$test = $row->{$column}; #$log->debug("\nAudit: (delta) row=$row, col=$column, row->{column}=$test"); *************** *** 157,161 **** # now make the output. Start with the header. my @rows; ! push @rows, ' <table border="1">' . $HNL . ' <tr valign="bottom">'; foreach my $column (@$col_order) { next if $column eq 'idnum'; --- 184,191 ---- # now make the output. Start with the header. my @rows; ! # add the CSS <div> ! push @rows, '<div id="pager">' . $HNL; ! push @rows, ' <table>' . $HNL . ' <tr>'; ! ## push @rows, ' <table border="1">' . $HNL . ' <tr valign="bottom">'; foreach my $column (@$col_order) { next if $column eq 'idnum'; *************** *** 170,174 **** # now format the rows output foreach my $row (@final) { ! push @rows, ' <tr valign="top">'; foreach my $column (@$col_order) { next if $column eq 'idnum'; --- 200,204 ---- # now format the rows output foreach my $row (@final) { ! push @rows, ' <tr valign="top">'; foreach my $column (@$col_order) { next if $column eq 'idnum'; *************** *** 177,181 **** #$log->debug("\nAudit: col=$column, row->{column}=$out"); { # -w off ! local $ = 0; if ($out) { push @rows, '<td>' . $out . '</td>' if $out; --- 207,212 ---- #$log->debug("\nAudit: col=$column, row->{column}=$out"); { # -w off ! ## local $ = 0; ! no warnings qw(numeric uninitialized); if ($out) { push @rows, '<td>' . $out . '</td>' if $out; *************** *** 190,197 **** } # end ,column loop # add change date data ! my $h_date = &time2str("%d-%h-%y %H:%m", $row->{h_date}); push @rows, '<td>' . $h_date . '</td></tr>' . $HNL; } # end row loop push @rows, ' </table>' . $HNL; ######## left side links (vbar phase) ######### --- 221,229 ---- } # end ,column loop # add change date data ! my $h_date = time2str("%d-%h-%y %H:%m", $row->{h_date}); push @rows, '<td>' . $h_date . '</td></tr>' . $HNL; } # end row loop push @rows, ' </table>' . $HNL; + push @rows, '</div>' . $HNL; ######## left side links (vbar phase) ######### *************** *** 208,230 **** } } - my $link_vars = &Apache::AppWrap::Subs::cclinks($opts); - - $opts->{Title} = 'Audit of ' . $link_vars->{label}; - my $link = '<a href="/' . $table . '/focus?idnum=' . $idnum . '">'; - $link .= $idnum . '</a>'; ! my $subtitle = 'A history of all changes to Idnum ' . $link . '.'; ! # app color, app name, col name ! $opts->{SubTitle} = $subtitle; ! $opts->{Rows} = \@rows; ! # comply with HEAD request ! if ($r->header_only) { ! $r->send_http_header; ! return OK; ! } ! &Apache::AppWrap::Subs::Webify($opts); ! return OK; } # end handler --- 240,254 ---- } } ! $opts->{Rows} = \@rows; ! # comply with HEAD reques ! if ($r->header_only) { ! $r->send_http_header; ! return OK; ! } ! Apache::AppWrap::Subs::Webify($opts); ! return OK; } # end handler |
From: <pla...@us...> - 2002-12-07 01:45:43
|
Update of /cvsroot/appwrap/AppWrap/Apache/AppWrap In directory sc8-pr-cvs1:/tmp/cvs-serv2587 Modified Files: Counter.pm Log Message: ignore backslash escapes in $config{rootdir} Index: Counter.pm =================================================================== RCS file: /cvsroot/appwrap/AppWrap/Apache/AppWrap/Counter.pm,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** Counter.pm 22 Nov 2002 10:05:56 -0000 1.8 --- Counter.pm 7 Dec 2002 01:45:40 -0000 1.9 *************** *** 17,25 **** use vars qw($VERSION); ! $Apache::AppWrap::Counter::VERSION = '0.10'; ! # 16 Nov 02. Don't record download on HEAD requests ! # 12 Nov 02. Don't call &write_stats on HEAD requests ! # 01 Jun 02. Migrated &write_stats from &Webify. sub handler { --- 17,26 ---- use vars qw($VERSION); ! $Apache::AppWrap::Counter::VERSION = '0.11'; ! # 16Nov02. ignore backslash escapes in $config{rootdir} ! # 16Nov02. Don't record download on HEAD requests ! # 12Nov02. Don't call &write_stats on HEAD requests ! # 01Jun02. Migrated &write_stats from &Webify. sub handler { *************** *** 40,44 **** # to avoid overwriting the %config value. my $includes = $config{includes}; ! $includes =~ s/^$config{rootdir}//; return DECLINED if $uri =~ $includes; --- 41,45 ---- # to avoid overwriting the %config value. my $includes = $config{includes}; ! $includes =~ s/^q{$config{rootdir}}//; return DECLINED if $uri =~ $includes; |
From: <pla...@us...> - 2002-12-05 04:05:47
|
Update of /cvsroot/appwrap/AppWrap/Apache/AppWrap In directory sc8-pr-cvs1:/tmp/cvs-serv11735 Modified Files: Doorknob.pm Log Message: fixed bug which was caching phase, cleaned up code Index: Doorknob.pm =================================================================== RCS file: /cvsroot/appwrap/AppWrap/Apache/AppWrap/Doorknob.pm,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** Doorknob.pm 1 Dec 2002 01:02:53 -0000 1.10 --- Doorknob.pm 5 Dec 2002 04:05:44 -0000 1.11 *************** *** 7,13 **** # ################################################################# ! # 13 Nov 02. Warnings for uninitialized block ! # 06 Nov 02. Removed call to Subs::get_my_text, because in this phase of the Apache lifecycle we might not know the language ! # 05 Nov 02. Stubbed in initial language-independence code require Exporter; --- 7,14 ---- # ################################################################# ! # 05Dec02. Cleaned up code whilst fixing phase-caching bug ! # 13Nov02. Warnings for uninitialized block ! # 06Nov02. Removed call to Subs::get_my_text, because in this phase of the Apache lifecycle we might not know the language ! # 05Nov02. Stubbed in initial language-independence code require Exporter; *************** *** 19,23 **** use vars qw($VERSION); ! our $VERSION = '0.03'; use strict; --- 20,24 ---- use vars qw($VERSION); ! our $VERSION = '0.04'; use strict; *************** *** 45,60 **** my $log = $r->log; ! my ($t1,$t2); ! my $uri = $r->uri; ! # $uri begins with a slash, so $path[0] is blank ! my @path = split('/', $uri); ! my $table = $path[1]; return DECLINED unless $table; ! #$log->debug("\nDoorknob: got to table: $table"); # use %opts to pass info between subs. &Verify might have set # $r->notes if fields were missing from user input. ! my (%opts, $test); # get the contents of table:my_tables. Its OK that %opts is --- 46,61 ---- my $log = $r->log; ! my $test; ! # get the table and phase. This site presently defines no ! # path components beyond the phase: http://domain/$table/$phase ! my (undef, $table, $phase, undef) = split('/', $r->uri); return DECLINED unless $table; ! #$log->debug("\nDoorknob: got table: $table") if $table; ! #$log->debug("\nDoorknob: got phase: $phase") if $phase; # use %opts to pass info between subs. &Verify might have set # $r->notes if fields were missing from user input. ! my %opts; # get the contents of table:my_tables. Its OK that %opts is *************** *** 64,77 **** # bug out if request is not a valid table name return DECLINED unless exists $my_tables->{$table}; - #$log->debug("\nDoorknob: got past my_tables: $table"); # populate %opts $opts{table} = $table; - $opts{path} = \@path; # determine name of the AppWrap phase in this request, if any. # $phase is simply the second component of the URI, when the # 1st component is a user data table. eg, qw[list display # focus audit calendar generate_form verify confirm] - my $phase = $path[2] if $path[2]; # preload data commonly used by downstream handlers and subs --- 65,75 ---- *************** *** 127,150 **** #$log->debug("\nDoorknob: args: $test"); ! $r->handler( 'perl-script' ); ! # if a handler is defined, set it, then return control to Apache. ! my $handler = $my_tables->{$table}{handler}; ! if ($handler) { ! if ($phase && $phase eq 'download') { ! # if ($path[2] && $path[2] eq 'download') { # need to strip '/download' from the URI leaving only the name ! # of the file ! $r->set_handlers( PerlTransHandler => [ \&Apache::AppWrap::Download_strip::handler ]); ! $r->set_handlers( PerlHandler => [ \&Apache::AppWrap::Download::handler ]); ! } ! else { ! $r->set_handlers( PerlHandler => [ $handler ] ); ! } ! return OK; ! } ! # if we got here no handler is explicitly set, so the switch ! # below will set it ! if ($phase) { ! if ($phase eq 'confirm') { # Do we nee to weed out incomplete and possibly subversive # POSTs? --- 125,148 ---- #$log->debug("\nDoorknob: args: $test"); ! $r->handler( 'perl-script' ); ! # if a handler is defined, set it, then return control to Apache. ! my $handler = $my_tables->{$table}{handler}; ! if ($handler) { ! if ($phase && $phase eq 'download') { # need to strip '/download' from the URI leaving only the name ! # of the file ! $r->set_handlers( PerlTransHandler => [ \&Apache::AppWrap::Download_strip::handler ]); ! $r->set_handlers( PerlHandler => [ \&Apache::AppWrap::Download::handler ]); ! } ! else { ! $r->set_handlers( PerlHandler => [ $handler ] ); ! } ! return OK; ! } ! #$log->debug("\nDoorknob: passed download, phase=$phase") if $phase; ! # if we got here no handler is explicitly set, so the switch ! # below will set it ! if ($phase) { ! if ($phase eq 'confirm') { # Do we nee to weed out incomplete and possibly subversive # POSTs? *************** *** 153,159 **** } # end 'Confirm' elsif ($phase eq 'verify') { ! # this is NOT a PerlHandler, simply a subroutine ! Apache::AppWrap::Subs::reqd_fields(\%opts); ! #$log->debug("\nDoorknob: got to verify"); } elsif ($phase eq 'modify') { --- 151,156 ---- } # end 'Confirm' elsif ($phase eq 'verify') { ! # this is NOT a PerlHandler, simply a subroutine ! Apache::AppWrap::Subs::reqd_fields(\%opts); } elsif ($phase eq 'modify') { *************** *** 191,203 **** elsif ($phase eq 'graph') { $r->set_handlers( PerlHandler => [ \&Apache::AppWrap::Graph::handler ]); ! } # end of graph, end known $path[2] else { ! # unrecognized $path[2], return DECLINED; } ! } # end $path[2] existence else { ! # This is our default. This $path[1] IS defined in my_tables, ! # but there is no $path[2], so run the List::handler. $phase = 'list'; $r->set_handlers( PerlHandler => [ \&Apache::AppWrap::List::handler ]); --- 188,201 ---- elsif ($phase eq 'graph') { $r->set_handlers( PerlHandler => [ \&Apache::AppWrap::Graph::handler ]); ! } # end of graph, end known $phase else { ! # unrecognized $phase return DECLINED; } ! } # end $phase existence else { ! #$log->debug("\nDoorknob: setting default handler."); ! # This is our default. This $table IS defined in my_tables, ! # but there is no $phase so run the List::handler. $phase = 'list'; $r->set_handlers( PerlHandler => [ \&Apache::AppWrap::List::handler ]); *************** *** 205,208 **** --- 203,207 ---- # now preload this last bit $opts{phase} = $phase; + #$log->debug("\nDoorknob: leaving."); return OK; |
From: <pla...@us...> - 2002-12-05 04:05:04
|
Update of /cvsroot/appwrap/AppWrap/Apache/AppWrap In directory sc8-pr-cvs1:/tmp/cvs-serv11510 Modified Files: Catalyst.pm Log Message: removed redundant download code, also removed code moved by use of CSS Index: Catalyst.pm =================================================================== RCS file: /cvsroot/appwrap/AppWrap/Apache/AppWrap/Catalyst.pm,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Catalyst.pm 23 Nov 2002 04:49:07 -0000 1.6 --- Catalyst.pm 5 Dec 2002 04:04:54 -0000 1.7 *************** *** 21,25 **** use vars qw($VERSION); ! $Apache::AppWrap::Catalyst::VERSION = '0.15'; ####### Flow and Conventions ###### --- 21,25 ---- use vars qw($VERSION); ! $Apache::AppWrap::Catalyst::VERSION = '0.16'; ####### Flow and Conventions ###### *************** *** 37,42 **** my $table = $opts->{table}; - my $path = $opts->{path}; - my $command = $path->[2]; # fudge for tab summary reports. set table name to "top_summary" and --- 37,40 ---- *************** *** 49,95 **** my $data; # the reference to all the data to display - ### download ### This would be better done as a separate Handler - if ($path->[1] && $path->[1] eq 'download') { - $opts->{download_flag} = 1; - my $sub = 'Apache::AW_User::get_' . $table . '_data ($opts)'; - my $ref = eval $sub; - # clean it up - my $cleaned_data = Apache::AppWrap::Subs::cleanup_data($opts,$ref); - - $r->header_out( Location => $table ); - $r->content_type('application/x-msexcel'); - $r->send_http_header; - return OK if $r->header_only; - # write out the file - foreach (@$cleaned_data) { - $r->print($_); - } - return DONE; - } ######## pre load data (preload phase) ######### # call a function if defined. Functions poke refs into %opts if ($my_tables->{$table}{phase_preload}) { ! my $ref = eval $my_tables->{$table}{phase_preload}; push @rows, join("", @$ref) if $ref && scalar(@$ref); } ######## end preload phase ######### - # override &Webify defaults - $opts->{main_table_width} = $my_tables->{$table}{main_table_width}; - $opts->{main_table_width} ||= $my_defaults->{main_table_width}; - - $opts->{vbar_width} = $my_tables->{$table}{vbar_width}; - $opts->{vbar_width} ||= $my_defaults->{vbar_width}; - - $opts->{vbar_table_width} = $my_tables->{$table}{vbar_table_width}; - $opts->{vbar_table_width} ||= $my_defaults->{vbar_table_width}; - - $opts->{vbar_class} = $my_tables->{$table}{vbar_class}; - $opts->{vbar_class} ||= 'vbar'; - - $opts->{rows_per} = $my_tables->{$table}{rows_per}; ######## screen and page headers (header phase) ######### my $phase_header = $my_tables->{$table}{phase_header}; ! my $ref = eval $phase_header if $phase_header; push @rows, join("", @$ref) if $ref && scalar(@$ref); ######## end header phase ######### --- 47,64 ---- my $data; # the reference to all the data to display ######## pre load data (preload phase) ######### # call a function if defined. Functions poke refs into %opts + my $ref; if ($my_tables->{$table}{phase_preload}) { ! $ref = eval $my_tables->{$table}{phase_preload}; push @rows, join("", @$ref) if $ref && scalar(@$ref); } ######## end preload phase ######### + #$test = scalar(@$ref) if $ref && scalar(ref); + #$log->debug("Catalyst: preloaded rows=$test\n") if $test; ######## screen and page headers (header phase) ######### my $phase_header = $my_tables->{$table}{phase_header}; ! $ref = eval $phase_header if $phase_header; push @rows, join("", @$ref) if $ref && scalar(@$ref); ######## end header phase ######### *************** *** 97,104 **** ######## main body data (body phase) ######### my $phase_body = $my_tables->{$table}{phase_body}; $ref = eval $phase_body if $phase_body; ! push @rows, join("", @$ref) if $ref && scalar(@$ref); ! $test = scalar(@$ref) if $ref; ! #$log->debug("Catalyst: $test rows ret'd, sub=$phase_body\n"); ######## end body phase ######### --- 66,76 ---- ######## main body data (body phase) ######### my $phase_body = $my_tables->{$table}{phase_body}; + #$log->debug("Catalyst: phase_body=$phase_body\n") if $phase_body; $ref = eval $phase_body if $phase_body; ! if ($ref && scalar(@$ref)) { ! push @rows, join("", @$ref); ! #$test = scalar(@$ref); ! #$log->debug("Catalyst: $test rows ret'd, sub=$phase_body\n") if $phase_body; ! } ######## end body phase ######### *************** *** 106,110 **** # done last because some subs need the source data derived in the # body phase. The my_tables directive is a string with multiple ! # subroutines separated by ";". Functions return array of to data wrapped in <td> tags my $phase_vbar = $my_tables->{$table}{phase_vbar}; my @subs = split(/\s*;\s*/, $phase_vbar) if $phase_vbar; --- 78,82 ---- # done last because some subs need the source data derived in the # body phase. The my_tables directive is a string with multiple ! # subroutines separated by ";". Functions return array of to data. my $phase_vbar = $my_tables->{$table}{phase_vbar}; my @subs = split(/\s*;\s*/, $phase_vbar) if $phase_vbar; *************** *** 186,194 **** For example, a report of project status could be requested by the URI http://foo.com/projectstatus. The data gathering subroutines would be &projectstatus_body() and &get_projectstatus_data(). ! The purpose of this 2 subroutine approach is to allow &get_<report>_data() to retrieve all data for the requested report, leaving &<report>_body() to determine whether HTML should be included (and thus to call Apache::AppWrap::Pager::paginator()), or to return it as raw data in a spreadsheet friendly format. Following this convention simplifes site administration. ! User created subroutines should be kept in the site's ./Apache namespace or elsewhere. The ./Apache/AppWrap namespace is reserved for AppWrap so please avoid storing your modules and libraries there. ! After the subroutines for each phase are executed Catalyst calls Apache::AppWrap::Subs::Webify() to print all data to the client in a consistent layout. =back --- 158,166 ---- For example, a report of project status could be requested by the URI http://foo.com/projectstatus. The data gathering subroutines would be &projectstatus_body() and &get_projectstatus_data(). ! The purpose of this 2 subroutine approach is to allow &get_<report>_data() to retrieve all data for the requested report, leaving &<report>_body() to determine whether HTML should be included (and thus to call Apache::AppWrap::Pager::paginator()), or to return it as raw data for download. Following this convention simplifes site administration. ! User-created subroutines should be kept in the site's ./Apache namespace or elsewhere. The ./Apache/AppWrap namespace is reserved for AppWrap so please avoid storing your modules and libraries there. ! After the subroutines for each phase are executed Catalyst calls &Apache::AppWrap::Subs::Webify() to print all data to the client in a consistent layout. =back *************** *** 206,210 **** L<Apache::AppWrap::my_columns>, L<Apache::AppWrap::Doorknob>, ! L<Apache::AppWrap::Subs::Webify>, L<Apache::AppWrap::Pager> --- 178,182 ---- L<Apache::AppWrap::my_columns>, L<Apache::AppWrap::Doorknob>, ! L<Webify.pod>, L<Apache::AppWrap::Pager> |
From: <pla...@us...> - 2002-12-05 04:03:00
|
Update of /cvsroot/appwrap/AppWrap/Apache In directory sc8-pr-cvs1:/tmp/cvs-serv10868 Modified Files: AW_User.pm Log Message: warnings, comments Index: AW_User.pm =================================================================== RCS file: /cvsroot/appwrap/AppWrap/Apache/AW_User.pm,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** AW_User.pm 1 Dec 2002 01:17:04 -0000 1.7 --- AW_User.pm 5 Dec 2002 04:02:56 -0000 1.8 *************** *** 15,18 **** --- 15,19 ---- use strict; use warnings; + no warnings qw(redefine); use AppWrap qw(%config); use Apache::AppWrap::Subs qw($dbh $HNL); *************** *** 29,33 **** use Apache::File (); ! $Apache::AW_User::VERSION = "0.04"; # 30Nov02. &make_download_catalyst links display nicer with # non-breaking spaces. --- 30,34 ---- use Apache::File (); ! $Apache::AW_User::VERSION = "0.05"; # 30Nov02. &make_download_catalyst links display nicer with # non-breaking spaces. *************** *** 1437,1441 **** # load up the base data into a ref my $p_ref = get_dashboard_data($opts); ! $test = scalar(@$p_ref) if $p_ref; #$log->debug("\ndashboard_body: got $test rows."); --- 1438,1442 ---- # load up the base data into a ref my $p_ref = get_dashboard_data($opts); ! #$test = scalar(@$p_ref) if $p_ref; #$log->debug("\ndashboard_body: got $test rows."); *************** *** 1479,1483 **** # get the history hash and pass it to %opts. $opts->{history} ||= Apache::AppWrap::Subs::get_history($opts); ! # call paginator to set up the table my ($return, $total_rows) = Apache::AppWrap::Pager::paginator ($opts, $src); foreach (@$return) { --- 1480,1485 ---- # get the history hash and pass it to %opts. $opts->{history} ||= Apache::AppWrap::Subs::get_history($opts); ! # call paginator to set up the table. dashboard soesn't ! # use $total_rows. my ($return, $total_rows) = Apache::AppWrap::Pager::paginator ($opts, $src); foreach (@$return) { |
From: <pla...@us...> - 2002-12-05 04:01:41
|
Update of /cvsroot/appwrap/AppWrap/Apache/AppWrap In directory sc8-pr-cvs1:/tmp/cvs-serv10661 Modified Files: Download.pm Log Message: migrate to table_type my_tables directive Index: Download.pm =================================================================== RCS file: /cvsroot/appwrap/AppWrap/Apache/AppWrap/Download.pm,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Download.pm 22 Nov 2002 10:05:56 -0000 1.5 --- Download.pm 5 Dec 2002 04:01:36 -0000 1.6 *************** *** 17,21 **** use Apache::AppWrap::Subs qw($dbh $HNL); ! $Apache::AppWrap::Download::VERSION = "0.04"; # 15Nov02. Handle HEAD requests correctly; use warnings --- 17,22 ---- use Apache::AppWrap::Subs qw($dbh $HNL); ! $Apache::AppWrap::Download::VERSION = "0.05"; ! # 02Dec02. Changed to use of 'table_type' my_tables directive # 15Nov02. Handle HEAD requests correctly; use warnings *************** *** 58,62 **** # if there is an idnum this is the case of an individual db record get the data my $ref; ! if ($my_tables->{$table}{report}) { my $sub = 'Apache::AW_User::get_' . $table . '_data ($opts)'; $ref = eval $sub; --- 59,64 ---- # if there is an idnum this is the case of an individual db record get the data my $ref; ! if (exists $my_tables->{$table}{table_type} && ! $my_tables->{$table}{table_type} eq 'report') { my $sub = 'Apache::AW_User::get_' . $table . '_data ($opts)'; $ref = eval $sub; *************** *** 83,87 **** my $cleaned_data = Apache::AppWrap::Subs::cleanup_data($opts,$ref); ! # using 'vnd.x-msexcel" launches a new Excel each time $r->content_type('application/x-msexcel'); --- 85,90 ---- my $cleaned_data = Apache::AppWrap::Subs::cleanup_data($opts,$ref); ! # using mime-type of 'application/vnd.x-msexcel" launches a ! # new instance of Excel with each request to download $r->content_type('application/x-msexcel'); *************** *** 125,131 **** =head1 DESCRIPTION ! &Apache::AppWrap::Download collects the dataset associated with the requested URI and query string and returns it to the client in Excel friendly format (tab delimited.) The MIME type is set to "application/x-msexcel" so that clients will present to the user a "Save As" dialog box. ! The data is tab delimited and may contain embedded newlines. No HTML is embedded, however my_columns subroutines have been run, meaning that raw data from the database has been converted to a more user readable format. For example, date fields, which the database stores in "seconds since the epoch" format, are converted to some variation of days, months, year, etc. --- 128,134 ---- =head1 DESCRIPTION ! &Apache::AppWrap::Download collects the dataset associated with the requested URI and query string and returns it to the client in spreadsheet friendly format (tab delimited.) The MIME type is set to "application/x-msexcel" so that clients will present to the user a "Save As" dialog box. ! The data is tab delimited and may contain embedded newlines. No HTML is embedded, however my_columns subroutines already have been run on the data, which means that raw data from the database has been converted to whatever was the intended format. For example, date fields, which the database stores in "seconds since the epoch" format, are converted to some variation of days, months, year, etc. |
From: <pla...@us...> - 2002-12-05 03:59:54
|
Update of /cvsroot/appwrap/AppWrap/bin In directory sc8-pr-cvs1:/tmp/cvs-serv9991 Modified Files: AppWrap_admin.pl Log Message: migrate to table_type my_tables directive Index: AppWrap_admin.pl =================================================================== RCS file: /cvsroot/appwrap/AppWrap/bin/AppWrap_admin.pl,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** AppWrap_admin.pl 22 Nov 2002 11:14:37 -0000 1.10 --- AppWrap_admin.pl 5 Dec 2002 03:59:50 -0000 1.11 *************** *** 13,17 **** use ExtUtils::MakeMaker qw(prompt); ! our $VERSION = '0.12'; # this script automatically inserts AppWrap directives into --- 13,17 ---- use ExtUtils::MakeMaker qw(prompt); ! our $VERSION = '0.13'; # this script automatically inserts AppWrap directives into *************** *** 735,739 **** $plan->{menu_order} = next_menu_order($args, 'reports'); $plan->{rows_per} = -1; ! $plan->{report} = 1; # increment the count of directives added. Exclude 'menu_tab' # as it was added by default, we only revise it here. Same for --- 735,740 ---- $plan->{menu_order} = next_menu_order($args, 'reports'); $plan->{rows_per} = -1; ! $plan->{table_type} = 'report'; ! # $plan->{report} = 1; # increment the count of directives added. Exclude 'menu_tab' # as it was added by default, we only revise it here. Same for *************** *** 750,754 **** # default, so don't count it again here. $plan->{menu_order} = next_menu_order($args, 'admin'); ! $plan->{user_data} = 1; $args->{count} += 1; } --- 751,756 ---- # default, so don't count it again here. $plan->{menu_order} = next_menu_order($args, 'admin'); ! $plan->{table_type} = 'user_data'; ! # $plan->{user_data} = 1; $args->{count} += 1; } |
From: <pla...@us...> - 2002-12-05 03:58:53
|
Update of /cvsroot/appwrap/AppWrap/bin In directory sc8-pr-cvs1:/tmp/cvs-serv9741 Modified Files: link_checker.pl Log Message: test for table_type my_tables directive Index: link_checker.pl =================================================================== RCS file: /cvsroot/appwrap/AppWrap/bin/link_checker.pl,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** link_checker.pl 24 Nov 2002 01:49:48 -0000 1.5 --- link_checker.pl 5 Dec 2002 03:58:50 -0000 1.6 *************** *** 219,223 **** } ! if (exists $my_tables->{$tablename}{user_data}) { # These links only possible for user_data tables. $links = get_focus_links($args, $tablename); --- 219,225 ---- } ! if (exists $my_tables->{$tablename}{table_type} && ! $my_tables->{$tablename}{table_type} eq 'user_data') { ! # if (exists $my_tables->{$tablename}{user_data}) { # These links only possible for user_data tables. $links = get_focus_links($args, $tablename); *************** *** 239,246 **** push @to_test, $link; } ! # elsif (exists $my_tables->{$tablename}{admin}) { # # case where $tablename is a 'meta data' table type # } ! # elsif (exists $my_tables->{$tablename}{reports}) { # # case where $tablename is a 'report' table type # # could attempt to make links using &url_args field values --- 241,250 ---- push @to_test, $link; } ! # elsif (exists $my_tables->{$tablename}{table_type} && ! # $my_tables->{$tablename}{table_type} eq 'meta_data') { # # case where $tablename is a 'meta data' table type # } ! # elsif (exists $my_tables->{$tablename}{table_type} && ! # $my_tables->{$tablename}{table_type} eq 'report') { # # case where $tablename is a 'report' table type # # could attempt to make links using &url_args field values |
From: <pla...@us...> - 2002-12-05 03:56:39
|
Update of /cvsroot/appwrap/AppWrap/Apache/AppWrap In directory sc8-pr-cvs1:/tmp/cvs-serv9225 Modified Files: Pager.pm Log Message: Moved &visualize from Apache/AppWrap/Subs.pm; migrate to table_type directive Index: Pager.pm =================================================================== RCS file: /cvsroot/appwrap/AppWrap/Apache/AppWrap/Pager.pm,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** Pager.pm 1 Dec 2002 00:55:55 -0000 1.11 --- Pager.pm 5 Dec 2002 03:56:36 -0000 1.12 *************** *** 27,30 **** --- 27,31 ---- $Apache::AppWrap::Pager::VERSION = "0.06"; + # 03Dec02. convert to my_tables table_type directive # 22Nov02. Changed $kt_label definition to silence warnings # 13Nov02. Moved Title creation to here from various handlers *************** *** 71,74 **** --- 72,77 ---- my $msgs = $opts->{display_text}; $msgs ||= $opts->{msgs}; + # this didn't help + $opts->{msgs} ||= $msgs; my $kv = $opts->{valid_kv} || $opts->{args}{kv}; *************** *** 128,132 **** # not have the source field populated. unless ($src_table && $src_column) { ! if ($my_tables->{$table}{report}) { ($src_table, $src_column) = split(":", $my_columns->{$table}{$column}{source}); } --- 131,137 ---- # not have the source field populated. unless ($src_table && $src_column) { ! if (exists $my_tables->{$table}{table_type} && ! $my_tables->{$table}{table_type} eq 'report') { ! # if ($my_tables->{$table}{report}) { ($src_table, $src_column) = split(":", $my_columns->{$table}{$column}{source}); } *************** *** 156,160 **** $opts->{Title} = eval $title if $title; #$test=$opts->{phase}; ! #$log->debug("\npaginator: title=$title, phase=$test"); # my $sort_label = 'Sorted by ' . $sort_hash{$sb}{label}; --- 161,165 ---- $opts->{Title} = eval $title if $title; #$test=$opts->{phase}; ! #$log->debug("\npaginator: raw_title=$title, title=$opts->{Title}, phase=$test"); # my $sort_label = 'Sorted by ' . $sort_hash{$sb}{label}; *************** *** 286,292 **** ' <tr valign="bottom">' . $HNL; ! # left cell, get any data visualization icons ! my $dv_icons = Apache::AppWrap::Subs::visualize($opts); ! my $left = join("", @$dv_icons) if $dv_icons && scalar(@$dv_icons); push @rows, ' <td width="30%" align="left">'; push @rows, $left || $msgs->{left} || ' '; --- 291,306 ---- ' <tr valign="bottom">' . $HNL; ! # left cell, get any data visualization icons. only if this ! # is a user data table, because other table types lack date ! # fields, and thus be calendar'd or chart'd ! my $left; ! if (exists $my_tables->{$table}{table_type} && ! $my_tables->{$table}{table_type} eq 'meta_data') { ! # if ($my_tables->{$table}{user_data}) { ! my $dv_icons = visualize($opts); ! # my $dv_icons = apache::appwrap::subs::visualize($opts); ! $left = join("", @$dv_icons) if $dv_icons && scalar(@$dv_icons); ! # my $left = join("", @$dv_icons) if $dv_icons && scalar(@$dv_icons); ! } push @rows, ' <td width="30%" align="left">'; push @rows, $left || $msgs->{left} || ' '; *************** *** 442,446 **** # include in the description the source table and column for # this field of reports only. ! if ($my_tables->{$table}{report} && $src_field) { $desc .= $HNL . 'Source Table: ' . $my_tables->{$src_table}{label} if $my_tables->{$src_table}{label}; $desc .= $HNL . 'Source Column: ' . $my_columns->{$src_table}{$src_column}{label} if $my_columns->{$src_table}{$src_column}{label}; --- 456,462 ---- # include in the description the source table and column for # this field of reports only. ! if ($src_field && exists $my_tables->{$table}{table_type} && ! $my_tables->{$table}{table_type} eq 'report') { ! # if ($my_tables->{$table}{report} && $src_field) { $desc .= $HNL . 'Source Table: ' . $my_tables->{$src_table}{label} if $my_tables->{$src_table}{label}; $desc .= $HNL . 'Source Column: ' . $my_columns->{$src_table}{$src_column}{label} if $my_columns->{$src_table}{$src_column}{label}; *************** *** 613,617 **** # convert a line of all white space to a html space $value =~ s/^\s*$/\ /; ! $value =~ s!( )!<br />!g; $value =~ s!\n!<br />!g; $out .= $value; --- 629,634 ---- # convert a line of all white space to a html space $value =~ s/^\s*$/\ /; ! $value =~ s!( ! )!<br />!g; $value =~ s!\n!<br />!g; $out .= $value; *************** *** 640,643 **** --- 657,662 ---- ($color eq $tdlight) ? ($color = $tddark) : ($color = $tdlight); } # end of rows loop + #$test = scalar(@rows); + #$log->debug("\n\&paginator: found $test rows"); ########### done with the data rows ############## push @rows, $HNL, ' </table>' . $HNL; *************** *** 646,655 **** $opts->{total_rows} = $total_rows; ! # reports don't get this as they typically show all ! # data rows in a single page. ! unless (exists $my_tables->{$table}{report}) { ! my $navbar = Apache::AppWrap::Subs::get_navbar ($opts); ! push @rows, join("", @$navbar) if $navbar && scalar(@$navbar); ! } # close out the div --- 665,678 ---- $opts->{total_rows} = $total_rows; ! ### needs an escape for "summary" ! # get a navigation bar for the bottom of the page is ! # this is a user_data table or a meta_data table. ! if (exists $my_tables->{$table}{table_type} && ! $my_tables->{$table}{table_type} =~ m/^(user|meta)_data$/ && ! ! exists $opts->{args}{top_summary}) { ! my $navbar = Apache::AppWrap::Subs::get_navbar ($opts); ! push @rows, join("", @$navbar) if $navbar && scalar(@$navbar); ! } ! #$log->debug("\n\&paginator: completed test"); # close out the div *************** *** 673,688 **** # the next script invocation how to reverse the sort from presently. return { ! 'label'=>"descending <em>$label</em>", ! 'column'=>$column, ! 'by'=>"by $column", ! 'sign'=>' +', }; } else { return { ! 'label'=>"ascending <em>$label</em>", ! 'column'=>$column, ! 'by'=>"by $column", ! 'sign'=>' -', }; } --- 696,711 ---- # the next script invocation how to reverse the sort from presently. return { ! 'label' => 'descending <em>' . $label . '</em>', ! 'column' => $column, ! 'by' => 'by ' . $column, ! 'sign' => ' +', }; } else { return { ! 'label' => 'ascending <em>' . $label . '</em>', ! 'column' => $column, ! 'by' => 'by $column', ! 'sign' => ' -', }; } *************** *** 707,714 **** return unless $my_defaults->{dv_enabled}; ! # bail if this is a report, we don't allow visualization of reports. ! return if $my_tables->{$table}{report}; ! # bail if this table has no date fields (possible on admin tables) ! return if $my_tables->{$table}{admin}; # return unless grep {($_ =~ /_date$/ || $_ =~ /^date$/) } @{ $opts->{col_order} }; --- 730,737 ---- return unless $my_defaults->{dv_enabled}; ! # # bail if this is a report, we don't allow visualization of reports. ! # return if $my_tables->{$table}{report}; ! # # bail if this table has no date fields (possible on admin tables) ! # return if $my_tables->{$table}{admin}; # return unless grep {($_ =~ /_date$/ || $_ =~ /^date$/) } @{ $opts->{col_order} }; *************** *** 747,751 **** my $link = '/' . $table . '/' . $dv; # check for query string args ! my $url_args = &Apache::AppWrap::Subs::url_args($opts); $link .= '?' . $url_args if $url_args; # and finally, the anchor tag --- 770,774 ---- my $link = '/' . $table . '/' . $dv; # check for query string args ! my $url_args = Apache::AppWrap::Subs::url_args($opts); $link .= '?' . $url_args if $url_args; # and finally, the anchor tag *************** *** 771,776 **** my $table = $opts->{table}; my $label = $my_tables->{$table}{label}; ! # bug out if this is a report ! return '' if $my_tables->{$table}{report}; my $image_dir = $config{imageurl} || $config{homeurl}; --- 794,799 ---- my $table = $opts->{table}; my $label = $my_tables->{$table}{label}; ! # # bug out if this is a report ! # return '' if $my_tables->{$table}{table_type} eq 'report'; my $image_dir = $config{imageurl} || $config{homeurl}; *************** *** 778,783 **** # my $image_dir = $config{homeurl} . '/' . $config{images}; ! # bail if this is a tab summary, visualization useless. ! return if exists $opts->{args}{top_summary}; my $r = Apache::Request->instance( Apache->request ); --- 801,806 ---- # my $image_dir = $config{homeurl} . '/' . $config{images}; ! # # bail if this is a tab summary, visualization useless. ! # return if exists $opts->{args}{top_summary}; my $r = Apache::Request->instance( Apache->request ); *************** *** 811,817 **** push @rows, ' <td align="center">' . $HNL; ! # this is for a 'new' icon, which we don't apply for reports or ! # meta data (read only) tables. ! unless ($opts->{read_only} || $my_tables->{$table}{report}) { my $link; my $url = $config{homeurl} . '/' . $table . '/add'; --- 834,843 ---- push @rows, ' <td align="center">' . $HNL; ! # this is for a 'new' icon, which we don't apply for ! # reports or meta data (read only) tables. ! unless (exists $my_tables->{$table}{table_type} && ! ($my_tables->{$table}{table_type} eq 'report' || ! $my_tables->{$table}{table_type} eq 'meta_data')) { ! # unless ($opts->{read_only} || $my_tables->{$table}{report}) { my $link; my $url = $config{homeurl} . '/' . $table . '/add'; *************** *** 898,901 **** --- 924,1005 ---- } # end &navigate + + ############################### + # Usage: my $array_ref = &visualization(\%opts) + # returns a reference to data comprising icons hyperlinked to various + # data visualization capabilities of this site. + # 05 Jan 01. Created. + ############################### + sub visualize { + my $opts = shift; + my $r = Apache->request; + my $log = $r->log; + my $my_tables = $opts->{my_tables}; + my $table = $opts->{table}; + my $my_columns = $opts->{my_columns}; + my $my_defaults = $opts->{my_defaults}; + + # bail if visualization not enabled + # might also check for the existence of the required CPAN modules(s) + # and bail if not found + return unless $my_defaults->{dv_enabled}; + # bail if this is a tab summary, visualization useless. + # return if exists $opts->{args}{top_summary}; + # # bail if this is a report, we don't allow visualization of reports. + # return if $my_tables->{$table}{report}; + # # bail if this table is admin table + # return if $my_tables->{$table}{admin}; + # bail if visualization would be meaningless + return if $r->uri =~ m/focus|audit/; + # bail if this table has no date fields (possible on admin tables) + # return unless grep {($_ =~ /_date$/ || $_ =~ /^date$/) } @{ $opts->{col_order} }; + + # list of visualizations. Must exist in table:my_defaults, and + # have TRUE value. We use the name with leading 'dv_' removed. + my @dv_types = grep { /^dv_/ && $my_defaults->{$_} && s/^dv_// } keys %$my_defaults; + + my @rows; + # start with a new line for pretty HTML + push @rows, $HNL; + push @rows, ' <table width="100%">' . $HNL; + push @rows, ' <tr><td align="center">'; + push @rows, 'Data Visualization</td></tr>' . $HNL; + push @rows, ' <tr><td align="center">' . $HNL; + # create the links + foreach my $dv (@dv_types) { + next if $dv eq 'enabled'; + next if $my_tables->{$table}{$dv . '_disallow'}; + # get icon, make url + my $icon = $config{homeurl} . '/' . $config{images} . '/' . $dv . '.gif'; + # get ALT msg to display + my $alt = $my_tables->{$table}{$dv . '_alt'}; + $alt ||= $my_defaults->{$dv . '_alt'}; + # get img height + width + my $height = $my_tables->{$table}{$dv . '_height'}; + $height ||= $my_defaults->{ $dv . '_img_height'}; + my $width = $my_tables->{$table}{$dv . '_width'}; + $width ||= $my_defaults->{$dv . '_img_width'}; + + # now make the image tag + my $img = '<img src="' . $icon; + $img .= '" alt="' . $alt; + $img .= '" height="' . $height; + $img .= '" width="' . $width . '" />'; + # the url + my $link = '/' . $table . '/' . $dv; + # check for query string args + # my $args = Apache::AppWrap::Subs::url_args($opts); + # $link .= '?' . $args if $args; + # and finally, the anchor tag + my $atag = ' <a href="' . $link . '">'; + $atag .= $img . '</a>' . $HNL; + # set up output + push @rows, $atag; + } + push @rows, ' </td>' . $HNL; + push @rows, ' </tr>' . $HNL; + push @rows, ' </table>' . $HNL; + return \@rows; + } # end &visualize |
From: <pla...@us...> - 2002-12-05 03:54:22
|
Update of /cvsroot/appwrap/AppWrap/Apache/AppWrap In directory sc8-pr-cvs1:/tmp/cvs-serv8378 Modified Files: Subs.pm Log Message: Moved &visualize to Apache/AppWrap/Pager.pm; migrate to table_type my_tables directive Index: Subs.pm =================================================================== RCS file: /cvsroot/appwrap/AppWrap/Apache/AppWrap/Subs.pm,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** Subs.pm 1 Dec 2002 07:33:11 -0000 1.29 --- Subs.pm 5 Dec 2002 03:54:18 -0000 1.30 *************** *** 31,38 **** use File::Spec (); ! $Apache::AppWrap::Subs::VERSION = "0.50"; ###### ! # 15 Nov 02. &favorites Split on optional whitespace surrounding comma. # 13 Nov 02 &navigate moved to Apache::AppWrap::Pager, only handler that calls &navigate # 13 Nov 02 &reqd_fields language choice --- 31,40 ---- use File::Spec (); [...1638 lines suppressed...] # if we're still here we had some missing input. # list missing fields in title and redisplay input form ! my $link_vars = &Apache::AppWrap::Subs::cclinks( $opts); my ($title, $subtitle); if (scalar(@missing)) { - # $title = $my_exceptions->{$table}{missing}{title}; - # $opts->{Title} = eval $title if $title; - - # $subtitle = $my_exceptions->{$table}{missing}{subtitle}; - # $opts->{SubTitle} = eval $subtitle if $subtitle; # if there are missing fields, save %opts in $r->notes so the # next request gets these titles --- 4105,4111 ---- # if we're still here we had some missing input. # list missing fields in title and redisplay input form ! my $link_vars = cclinks( $opts); my ($title, $subtitle); if (scalar(@missing)) { # if there are missing fields, save %opts in $r->notes so the # next request gets these titles |
From: <pla...@us...> - 2002-12-01 07:53:41
|
Update of /cvsroot/appwrap/AppWrap In directory sc8-pr-cvs1:/tmp/cvs-serv1233 Modified Files: MANIFEST Log Message: added README Index: MANIFEST =================================================================== RCS file: /cvsroot/appwrap/AppWrap/MANIFEST,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** MANIFEST 22 Nov 2002 10:46:35 -0000 1.12 --- MANIFEST 1 Dec 2002 07:53:38 -0000 1.13 *************** *** 1,2 **** --- 1,3 ---- + README About.pod Apache/AW_User.pm |
From: <pla...@us...> - 2002-12-01 07:33:13
|
Update of /cvsroot/appwrap/AppWrap/Apache/AppWrap In directory sc8-pr-cvs1:/tmp/cvs-serv18067 Modified Files: Subs.pm Log Message: corrected image spacing in &tab_bar Index: Subs.pm =================================================================== RCS file: /cvsroot/appwrap/AppWrap/Apache/AppWrap/Subs.pm,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** Subs.pm 1 Dec 2002 00:52:12 -0000 1.28 --- Subs.pm 1 Dec 2002 07:33:11 -0000 1.29 *************** *** 3256,3261 **** $out .= '" height="' . $height . '" width="' . $width . '">'; $out .= '</a>' unless $tab eq $active_tab; - # if CSS can't make the tabs close together, delete next line - $out .= $HNL; if ($tab_num && $tab_num == $tabs_per) { --- 3256,3259 ---- |
From: <pla...@us...> - 2002-12-01 07:26:42
|
Update of /cvsroot/appwrap/AppWrap/includes In directory sc8-pr-cvs1:/tmp/cvs-serv14554 Modified Files: AppWrap.css Log Message: final cleanup for release 0.08 Index: AppWrap.css =================================================================== RCS file: /cvsroot/appwrap/AppWrap/includes/AppWrap.css,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** AppWrap.css 29 Nov 2002 13:29:43 -0000 1.3 --- AppWrap.css 1 Dec 2002 07:26:39 -0000 1.4 *************** *** 1,5 **** <style type="text/css"> div#logo { } ! //* "tabbar" is a class as there may be more than one *// div.tabbar a span { display: none; } div.tabbar a:hover span { --- 1,11 ---- <style type="text/css"> + body { + width: auto; + color: #000; + background: #fff; + margin: 0.5em 0.5em; + } div#logo { } ! /* "tabbar" is a class as there may be more than one <div> */ div.tabbar a span { display: none; } div.tabbar a:hover span { *************** *** 9,29 **** color: #000; background: #fff; } ! div.tabbar img { ! display: inline; ! margin: -0.1em; ! padding: 0 0 0 0; ! } ! div#tabbar { ! border-bottom: 1px #000 solid; ! padding-top: 0.2em; ! } ! div#motdarea { ! float: right; width: 52%; z-index: 10; ! } ! div#mainleft { ! margin: 0 38% 0 24%; ! padding: 0 0 0 1em; ! } div#mainright { float: right; --- 15,23 ---- color: #000; background: #fff; } ! div.tabbar img { display: inline; padding: 0 0 0 0; } ! div.tabbar { border-bottom: 1px #000 solid; padding-top: 0.2em; } + div#motdarea { float: right; width: 52%; z-index: 10; } + div#mainleft { margin: 0 38% 0 24%; padding: 0 0 0 1em; } div#mainright { float: right; *************** *** 31,41 **** padding: 0 0 0 1em; width: 36%; - } div#leftvbar { ! float: left; width: 24%; padding-top: 1em; margin-top: 2.4em; } div#leftvbar table { --- 25,42 ---- padding: 0 0 0 1em; width: 36%; } div#leftvbar { ! position: absolute; ! top: 7em; left: 0.5em; width: 24%; padding-top: 1em; margin-top: 2.4em; + z-index: 100; + } + div#pager { + clear: none; + margin: 0 0 0 26%; + padding-bottom: 0.5em; + border-bottom: 1px solid #000; } div#leftvbar table { *************** *** 48,59 **** bottom-border: 1px red solid; } ! div#leftvbar th { ! border: 1px #aaa solid; ! text-align: center; ! } ! div#leftvbar tr { ! font-size: 10pt; ! vertical-align: top; ! } div#leftvbar td { margin: 0.1em; --- 49,54 ---- bottom-border: 1px red solid; } ! div#leftvbar th { border: 1px #aaa solid; text-align: center; } ! div#leftvbar tr { font-size: 10pt; vertical-align: top; } div#leftvbar td { margin: 0.1em; *************** *** 68,75 **** text-align: left; } ! p#search { ! margin: 1.5em 0 2em 0; text-decoration: underline; - text-indent: 1em; font-weight: bold; } --- 63,69 ---- text-align: left; } ! div#leftvbar a#search { ! padding: 2em 0 1em 1em; text-decoration: underline; font-weight: bold; } *************** *** 77,84 **** color: #000000; text-align: center; ! font-size: larger; font-weight: bold; - margin-top: 12pt; font-family: Arial; } p#subtitle { --- 71,78 ---- color: #000000; text-align: center; ! font-size: 14pt; font-weight: bold; font-family: Arial; + margin-left: 26%; } p#subtitle { *************** *** 86,105 **** text-align: center; font-family: Arial; ! font-size: medium; } - div#footer { clear: both; text-align: justify; ! border-top: 1px solid #000; ! margin-top: 1em; ! padding-top: 0.25em; ! } ! p#mailto { ! text-align: center; ! font-weight: bold; } - body { color: #000; background: #fff; margin: 0.5em; } em { font-style: italic; color: green; } h1 { margin-top: 12pt; margin-right: 0in; margin-bottom: 6pt; margin-left: 0in; font-size: 14pt; font-family: Helvetica; color: #000000; font-weight: bold; } --- 80,125 ---- text-align: center; font-family: Arial; ! font-size: 12pt; ! margin-left: 26%; ! } ! /* this won't work, as it upsets narrow pages ! div#pager { ! position: absolute; ! top: 14em; left: 26%; ! z-index: 10; ! width: auto; ! ! /* this won't work, as it upsets narrow pages ! width: 1500px; ! # ! float: left; ! # no effect ! display: inline; ! # too far to the right ! margin: 0 0 0 26%; ! */ ! } ! div#pager tr.odd { ! background: #ccc; ! vertical-align: top; ! } ! div#pager tr.even { ! background: #ddd; ! vertical-align: top; ! } ! div#navfoot { ! color: #000000; ! vertical-align: center; ! text-align: center; ! margin-left: 26%; } div#footer { clear: both; text-align: justify; ! margin: 1em 0 0 26%; } + p#mailto { text-align: center; font-weight: bold; } + em { font-style: italic; color: green; } h1 { margin-top: 12pt; margin-right: 0in; margin-bottom: 6pt; margin-left: 0in; font-size: 14pt; font-family: Helvetica; color: #000000; font-weight: bold; } *************** *** 109,113 **** table { } td { color: #000000; font-family: Arial; margin-top: 0; } ! th { color: #000000; background: #f0f0f0; font-size: 11pt; font-family: serif; } ul { margin: 0pt 0pt 0.5em 0.5em } li { margin-left: 0.5em; } --- 129,133 ---- table { } td { color: #000000; font-family: Arial; margin-top: 0; } ! th { color: #000000; background: #ddd; font-size: 11pt; font-family: serif; } ul { margin: 0pt 0pt 0.5em 0.5em } li { margin-left: 0.5em; } |
From: <pla...@us...> - 2002-12-01 07:25:10
|
Update of /cvsroot/appwrap/AppWrap In directory sc8-pr-cvs1:/tmp/cvs-serv10745 Modified Files: demo_db.txt Log Message: Current database for release 0.08 Index: demo_db.txt =================================================================== RCS file: /cvsroot/appwrap/AppWrap/demo_db.txt,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** demo_db.txt 24 Nov 2002 07:03:12 -0000 1.6 --- demo_db.txt 1 Dec 2002 07:25:07 -0000 1.7 *************** *** 25,187 **** # ! INSERT INTO accesses VALUES (4075,28241,'guest',200,'2002-11-16 18:22:35','/contactssummary','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4073,473,NULL,401,'2002-11-16 18:22:23','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4074,6851,'guest',200,'2002-11-16 18:22:29','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4071,11189,'guest',200,'2002-11-16 04:36:42','/tripreports/display','?kv=4&sb=1','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4070,11189,'guest',200,'2002-11-16 04:36:20','/tripreports/display','?kv=4&sb=1','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4072,302,NULL,301,'2002-11-16 18:22:23','/','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4069,6832,'guest',200,'2002-11-16 04:32:23','/reports','','Mozilla/4.73 [en]C-CCK-MCD NSCPCD47 (Win98; U)'); ! INSERT INTO accesses VALUES (4055,0,'guest',200,'2002-11-15 19:34:12','/details','?sb=7','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4056,0,'guest',200,'2002-11-15 19:34:15','/details','?sb=8','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4057,0,'guest',200,'2002-11-15 19:34:17','/details','?sb=9','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4058,0,'guest',200,'2002-11-15 19:34:19','/details','?sb=10','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4059,0,'guest',200,'2002-11-15 19:34:22','/details','?sb=15','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4060,0,'guest',200,'2002-11-15 19:34:24','/details','?sb=16','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4061,0,'guest',200,'2002-11-15 19:34:26','/details','?sb=17','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4062,0,'guest',200,'2002-11-15 19:34:29','/details','?sb=18','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4063,0,'guest',200,'2002-11-15 19:34:31','/details','','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4064,11185,'guest',200,'2002-11-16 04:29:00','/tripreports/display','?kv=4&sb=1','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4065,473,NULL,401,'2002-11-16 04:30:12','/tripreports/display','?kv=4&sb=1','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4066,11189,'guest',200,'2002-11-16 04:30:14','/tripreports/display','?kv=4&sb=1','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4067,290,NULL,301,'2002-11-16 04:32:16','/','','Mozilla/4.73 [en]C-CCK-MCD NSCPCD47 (Win98; U)'); ! INSERT INTO accesses VALUES (4068,461,NULL,401,'2002-11-16 04:32:16','/reports','','Mozilla/4.73 [en]C-CCK-MCD NSCPCD47 (Win98; U)'); ! INSERT INTO accesses VALUES (4045,0,'guest',200,'2002-11-15 19:33:55','/projects','?idnum=184&by=pm','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4046,0,'guest',200,'2002-11-15 19:33:55','/projects','?idnum=184&by=revenue','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4047,0,'guest',200,'2002-11-15 19:33:56','/projects/calendar','','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4048,0,'guest',200,'2002-11-15 19:33:57','/projects/chart','','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4049,0,'guest',200,'2002-11-15 19:33:58','/details','?sb=1','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4050,0,'guest',200,'2002-11-15 19:34:00','/details','?sb=2','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4051,0,'guest',200,'2002-11-15 19:34:03','/details','?sb=3','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4052,0,'guest',200,'2002-11-15 19:34:05','/details','?sb=4','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4053,0,'guest',200,'2002-11-15 19:34:07','/details','?sb=5','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4054,0,'guest',200,'2002-11-15 19:34:10','/details','?sb=6','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4043,0,'guest',200,'2002-11-15 19:33:54','/projects','?idnum=184&by=stage','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4042,0,'guest',200,'2002-11-15 19:33:53','/projects','?idnum=184&by=contact','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4044,0,'guest',200,'2002-11-15 19:33:54','/projects','?idnum=184&by=partner','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4041,0,'guest',200,'2002-11-15 19:33:52','/projects','?idnum=184&by=idnum','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4040,0,'guest',200,'2002-11-15 19:33:50','/projects/focus','?idnum=184&by=revenue','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4039,0,'guest',200,'2002-11-15 19:33:47','/projects/focus','?idnum=184&by=pm','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4038,0,'guest',200,'2002-11-15 19:33:45','/projects/focus','?idnum=184&by=partner','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4036,0,'guest',200,'2002-11-15 19:33:39','/projects/focus','?idnum=184&by=contact','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4037,0,'guest',200,'2002-11-15 19:33:42','/projects/focus','?idnum=184&by=stage','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4034,0,'guest',200,'2002-11-15 19:33:34','/projects/focus','?idnum=184','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4035,0,'guest',200,'2002-11-15 19:33:37','/projects/focus','?idnum=184&by=idnum','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4031,0,'guest',200,'2002-11-15 19:33:32','/projects','?idnum=183&by=partner','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4033,0,'guest',200,'2002-11-15 19:33:34','/projects','?idnum=183&by=revenue','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4030,0,'guest',200,'2002-11-15 19:33:32','/projects','?idnum=183&by=stage','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4032,0,'guest',200,'2002-11-15 19:33:33','/projects','?idnum=183&by=pm','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4029,0,'guest',200,'2002-11-15 19:33:31','/projects','?idnum=183&by=contact','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4028,0,'guest',200,'2002-11-15 19:33:31','/projects','?idnum=183&by=idnum','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4027,0,'guest',200,'2002-11-15 19:33:28','/projects/focus','?idnum=183&by=revenue','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4026,0,'guest',200,'2002-11-15 19:33:25','/projects/focus','?idnum=183&by=pm','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4025,0,'guest',200,'2002-11-15 19:33:23','/projects/focus','?idnum=183&by=partner','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4024,0,'guest',200,'2002-11-15 19:33:20','/projects/focus','?idnum=183&by=stage','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4023,0,'guest',200,'2002-11-15 19:33:17','/projects/focus','?idnum=183&by=contact','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4022,0,'guest',200,'2002-11-15 19:33:15','/projects/focus','?idnum=183&by=idnum','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4021,0,'guest',200,'2002-11-15 19:33:12','/projects/focus','?idnum=183','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4020,0,'guest',200,'2002-11-15 19:33:12','/projects','?idnum=182&by=revenue','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4019,0,'guest',200,'2002-11-15 19:33:11','/projects','?idnum=182&by=pm','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4018,0,'guest',200,'2002-11-15 19:33:11','/projects','?idnum=182&by=partner','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4017,0,'guest',200,'2002-11-15 19:33:10','/projects','?idnum=182&by=stage','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4016,0,'guest',200,'2002-11-15 19:33:09','/projects','?idnum=182&by=contact','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4015,0,'guest',200,'2002-11-15 19:33:09','/projects','?idnum=182&by=idnum','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4014,0,'guest',200,'2002-11-15 19:33:06','/projects/focus','?idnum=182&by=revenue','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4013,0,'guest',200,'2002-11-15 19:33:04','/projects/focus','?idnum=182&by=pm','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4012,0,'guest',200,'2002-11-15 19:33:01','/projects/focus','?idnum=182&by=partner','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4011,0,'guest',200,'2002-11-15 19:32:59','/projects/focus','?idnum=182&by=stage','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4010,0,'guest',200,'2002-11-15 19:32:56','/projects/focus','?idnum=182&by=contact','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4009,0,'guest',200,'2002-11-15 19:32:53','/projects/focus','?idnum=182&by=idnum','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4008,0,'guest',200,'2002-11-15 19:32:51','/projects/focus','?idnum=182','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4006,0,'guest',200,'2002-11-15 19:32:50','/projects','?idnum=181&by=pm','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4005,0,'guest',200,'2002-11-15 19:32:49','/projects','?idnum=181&by=partner','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4007,0,'guest',200,'2002-11-15 19:32:50','/projects','?idnum=181&by=revenue','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4004,0,'guest',200,'2002-11-15 19:32:49','/projects','?idnum=181&by=stage','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4003,0,'guest',200,'2002-11-15 19:32:48','/projects','?idnum=181&by=contact','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4002,0,'guest',200,'2002-11-15 19:32:47','/projects','?idnum=181&by=idnum','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4001,0,'guest',200,'2002-11-15 19:32:45','/projects/focus','?idnum=181&by=revenue','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4000,0,'guest',200,'2002-11-15 19:32:42','/projects/focus','?idnum=181&by=pm','Mozilla/5.0 (Windows; U; Win92; en-us; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4157,473,NULL,401,'2002-11-23 22:52:23','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4158,6852,'guest',200,'2002-11-23 22:52:29','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4155,5666,'guest',200,'2002-11-23 05:17:58','/tripreports','','Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4154,14793,'guest',200,'2002-11-23 05:16:24','/contacts','','Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4156,302,NULL,301,'2002-11-23 22:52:22','/','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4153,28221,'guest',200,'2002-11-23 05:12:23','/contactssummary','','Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4150,226,NULL,301,'2002-11-23 05:03:07','/','','Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4152,6833,'guest',200,'2002-11-23 05:03:29','/reports','','Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4148,14471,'guest',200,'2002-11-23 03:42:19','/actions','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4151,397,NULL,401,'2002-11-23 05:03:08','/reports','','Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.1) Gecko/20020826'); ! INSERT INTO accesses VALUES (4149,14471,'guest',200,'2002-11-23 03:44:47','/actions','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4147,13719,'guest',200,'2002-11-23 03:42:02','/milestones','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4146,13657,'guest',200,'2002-11-23 03:35:57','/milestones','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4145,14471,'guest',200,'2002-11-23 03:35:24','/actions','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4144,15497,'guest',200,'2002-11-23 03:34:04','/status','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4143,16647,'guest',200,'2002-11-23 03:33:43','/projects','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4141,13439,'guest',200,'2002-11-23 03:33:23','/kit','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4142,16403,'guest',200,'2002-11-23 03:33:37','/projectssummary','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4140,12264,'guest',200,'2002-11-23 03:33:07','/contactlog','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4139,12683,'guest',200,'2002-11-23 03:32:00','/tripreports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4137,6842,'guest',200,'2002-11-23 03:30:33','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4138,14803,'guest',200,'2002-11-23 03:31:32','/contacts','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4136,6872,'guest',200,'2002-11-23 02:51:29','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4133,473,NULL,401,'2002-11-23 02:11:31','/contactssummary','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4135,16445,'guest',200,'2002-11-23 02:40:09','/projectssummary','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4134,16445,'guest',200,'2002-11-23 02:11:40','/projectssummary','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4132,16445,'guest',200,'2002-11-23 02:11:28','/projectssummary','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4130,473,NULL,401,'2002-11-23 02:11:04','/contactssummary','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4131,16713,'guest',200,'2002-11-23 02:11:20','/projects','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4129,15551,'guest',200,'2002-11-23 02:10:51','/status','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4127,14531,'guest',200,'2002-11-23 02:09:31','/actions','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4125,5554,'guest',200,'2002-11-23 01:28:14','/projects','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4128,13719,'guest',200,'2002-11-23 02:09:46','/milestones','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4126,16761,'guest',200,'2002-11-23 01:47:39','/projects','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4124,5577,'guest',200,'2002-11-23 01:27:56','/contacts','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4122,21023,'guest',200,'2002-11-23 01:25:06','/details','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4123,5685,'guest',200,'2002-11-23 01:27:47','/tripreports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4121,50088,'guest',200,'2002-11-23 01:24:45','/dashboard','?sb=7','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4120,50083,'guest',200,'2002-11-23 01:24:37','/dashboard','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4119,28226,'guest',200,'2002-11-23 01:23:58','/contactssummary','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4117,5537,'guest',200,'2002-11-23 01:23:08','/actions','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4118,5555,'guest',200,'2002-11-23 01:23:10','/milestones','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4116,5551,'guest',200,'2002-11-23 01:23:06','/status','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4115,5553,'guest',200,'2002-11-23 01:23:04','/projects','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4114,16392,'guest',200,'2002-11-23 01:23:00','/projectssummary','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4112,5750,'guest',200,'2002-11-23 00:43:50','/contactlog','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4113,5652,'guest',200,'2002-11-23 00:44:02','/kit','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4110,0,NULL,301,'2002-11-23 00:38:13','/','',NULL); ! INSERT INTO accesses VALUES (4111,12728,'guest',200,'2002-11-23 00:43:25','/tripreports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4107,0,NULL,301,'2002-11-22 23:59:05','/','',NULL); ! INSERT INTO accesses VALUES (4108,0,NULL,301,'2002-11-23 00:00:43','/','',NULL); ! INSERT INTO accesses VALUES (4109,0,NULL,301,'2002-11-23 00:37:56','/','',NULL); ! INSERT INTO accesses VALUES (4104,0,NULL,301,'2002-11-22 23:53:34','/','',NULL); ! INSERT INTO accesses VALUES (4105,0,NULL,301,'2002-11-22 23:55:27','/','',NULL); ! INSERT INTO accesses VALUES (4106,0,NULL,301,'2002-11-22 23:58:12','/','',NULL); ! INSERT INTO accesses VALUES (4102,0,NULL,301,'2002-11-22 23:36:26','/','',NULL); ! INSERT INTO accesses VALUES (4103,0,NULL,301,'2002-11-22 23:47:34','/','',NULL); ! INSERT INTO accesses VALUES (4099,6839,'guest',200,'2002-11-22 21:55:23','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4101,10839,'guest',200,'2002-11-22 23:24:15','/contacts/focus','?idnum=77&sb=1','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4097,6869,'guest',200,'2002-11-22 19:13:20','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4100,14800,'guest',200,'2002-11-22 23:23:56','/contacts','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4095,302,NULL,301,'2002-11-22 19:13:14','/','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4098,6869,'guest',200,'2002-11-22 19:29:33','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4096,473,NULL,401,'2002-11-22 19:13:14','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4094,12054,'guest',200,'2002-11-22 04:22:16','/guides','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4092,5919,'guest',200,'2002-11-22 03:50:23','/colorcodes','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4093,5915,'guest',200,'2002-11-22 03:50:25','/guides','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4089,5922,'guest',200,'2002-11-22 03:50:16','/contact_types','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4091,5920,'guest',200,'2002-11-22 03:50:21','/my_defaults','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4090,5914,'guest',200,'2002-11-22 03:50:19','/menus','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4088,5917,'guest',200,'2002-11-22 03:50:13','/eq_types','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4087,6078,'guest',200,'2002-11-22 03:50:08','/stages','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4085,6108,'guest',200,'2002-11-22 03:49:59','/history','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4086,6010,'guest',200,'2002-11-22 03:50:04','/regions','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4084,5921,'guest',200,'2002-11-22 03:49:56','/my_exceptions','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4082,19031,'guest',200,'2002-11-22 03:49:47','/my_tables','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4083,6169,'guest',200,'2002-11-22 03:49:50','/my_columns','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4081,6092,'guest',200,'2002-11-22 03:49:40','/admin','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4079,473,NULL,401,'2002-11-22 03:49:21','/admin','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4080,6092,'guest',200,'2002-11-22 03:49:28','/admin','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4076,302,NULL,301,'2002-11-22 03:46:08','/','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4078,6800,'guest',200,'2002-11-22 03:46:15','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4077,473,NULL,401,'2002-11-22 03:46:08','/reports','','Opera/6.0 (Windows 98; U) [en]'); # --- 25,302 ---- # ! INSERT INTO accesses VALUES (4773,5635,'guest',200,'2002-11-30 23:08:19','/reports','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4772,25747,'guest',200,'2002-11-30 22:43:34','/contactssummary','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4770,25747,'guest',200,'2002-11-30 22:39:40','/contactssummary','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4771,25747,'guest',200,'2002-11-30 22:42:33','/contactssummary','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4769,25747,'guest',200,'2002-11-30 22:39:30','/contactssummary','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4767,5635,'guest',200,'2002-11-30 22:39:09','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4768,5635,'guest',200,'2002-11-30 22:39:19','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4766,5635,'guest',200,'2002-11-30 22:38:58','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4764,5635,'guest',200,'2002-11-30 22:30:31','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4765,5635,'guest',200,'2002-11-30 22:38:02','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4762,5635,'guest',200,'2002-11-30 22:29:38','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4763,5635,'guest',200,'2002-11-30 22:29:50','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4761,5635,'guest',200,'2002-11-30 22:29:00','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4759,5635,'guest',200,'2002-11-30 22:28:17','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4758,5635,'guest',200,'2002-11-30 22:28:10','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4760,5635,'guest',200,'2002-11-30 22:28:28','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4756,5635,'guest',200,'2002-11-30 22:26:17','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4757,5635,'guest',200,'2002-11-30 22:27:23','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4755,5635,'guest',200,'2002-11-30 22:26:02','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4753,5635,'guest',200,'2002-11-30 22:24:43','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4754,5635,'guest',200,'2002-11-30 22:25:25','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4750,5635,'guest',200,'2002-11-30 21:08:24','/reports','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4752,5635,'guest',200,'2002-11-30 22:23:17','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4751,5635,'guest',200,'2002-11-30 21:08:29','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4749,5635,'guest',200,'2002-11-30 21:08:07','/reports','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4747,5635,'guest',200,'2002-11-30 21:07:50','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4745,5640,'guest',200,'2002-11-30 20:58:34','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4748,5635,'guest',200,'2002-11-30 21:07:55','/reports','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4746,5640,'guest',200,'2002-11-30 21:02:38','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4743,302,NULL,301,'2002-11-30 20:58:25','/','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4744,473,NULL,401,'2002-11-30 20:58:26','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4742,5640,'guest',200,'2002-11-30 20:57:27','/reports','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4741,19612,'guest',200,'2002-11-30 17:18:44','/details','?sb=9','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4739,47967,'guest',200,'2002-11-30 17:18:10','/dashboard','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4740,19606,'guest',200,'2002-11-30 17:18:36','/details','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4736,15032,'guest',200,'2002-11-30 05:19:03','/projects','?sb=9','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4738,5640,'guest',200,'2002-11-30 17:17:57','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4737,15073,'guest',200,'2002-11-30 17:17:39','/projects','?sb=9','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4735,15074,'guest',200,'2002-11-30 05:18:58','/projects','?sb=4','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4732,14643,'guest',200,'2002-11-30 05:17:08','/projectssummary','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4734,15065,'guest',200,'2002-11-30 05:18:55','/projects','?sb=3','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4733,15070,'guest',200,'2002-11-30 05:18:44','/projects','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4731,14643,'guest',200,'2002-11-30 05:16:52','/projectssummary','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4730,11363,'guest',200,'2002-11-30 05:16:35','/tripreports','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4729,13194,'guest',200,'2002-11-30 05:16:17','/contacts','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4728,13194,'guest',200,'2002-11-30 05:16:10','/contacts','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4727,25752,'guest',200,'2002-11-30 05:16:04','/contactssummary','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4726,13194,'guest',200,'2002-11-30 05:15:46','/contacts','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4724,4624,'guest',200,'2002-11-30 05:11:56','/contacts','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4725,13235,'guest',200,'2002-11-30 05:12:53','/contacts','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4723,4624,'guest',200,'2002-11-30 05:11:45','/contacts','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4721,13235,'guest',200,'2002-11-30 05:10:57','/contacts','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4722,4624,'guest',200,'2002-11-30 05:11:30','/contacts','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4720,25752,'guest',200,'2002-11-30 05:09:54','/contactssummary','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4719,47994,'guest',200,'2002-11-30 05:03:14','/dashboard','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4717,47993,'guest',200,'2002-11-30 04:58:19','/dashboard','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4716,47993,'guest',200,'2002-11-30 04:57:54','/dashboard','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4718,47994,'guest',200,'2002-11-30 05:02:02','/dashboard','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4715,47993,'guest',200,'2002-11-30 04:54:42','/dashboard','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4714,5639,'guest',200,'2002-11-30 04:54:36','/reports','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4713,47993,'guest',200,'2002-11-30 04:30:02','/dashboard','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4711,47993,'guest',200,'2002-11-30 04:28:58','/dashboard','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4712,47993,'guest',200,'2002-11-30 04:29:57','/dashboard','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4710,47993,'guest',200,'2002-11-30 04:21:51','/dashboard','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4708,47993,'guest',200,'2002-11-30 04:17:06','/dashboard','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4709,47993,'guest',200,'2002-11-30 04:19:34','/dashboard','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4707,47993,'guest',200,'2002-11-30 04:16:05','/dashboard','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4706,47993,'guest',200,'2002-11-30 03:39:39','/dashboard','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4705,47993,'guest',200,'2002-11-30 03:34:10','/dashboard','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4704,47993,'guest',200,'2002-11-30 03:12:54','/dashboard','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4702,5639,'guest',200,'2002-11-30 03:12:27','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4703,47993,'guest',200,'2002-11-30 03:12:35','/dashboard','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4701,473,NULL,401,'2002-11-30 03:12:21','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4700,302,NULL,301,'2002-11-30 03:12:21','/','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4698,473,NULL,401,'2002-11-30 03:11:33','/reports','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4699,5639,'guest',200,'2002-11-30 03:11:56','/reports','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4697,302,NULL,301,'2002-11-30 03:11:32','/','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4696,47993,'guest',200,'2002-11-30 01:53:55','/dashboard','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4695,47993,'guest',200,'2002-11-30 01:53:25','/dashboard','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4692,13870,'guest',200,'2002-11-30 01:51:43','/status','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4694,5639,'guest',200,'2002-11-30 01:53:21','/reports','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4693,5639,'guest',200,'2002-11-30 01:51:59','/reports','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4691,14642,'guest',200,'2002-11-30 01:51:37','/projectssummary','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4690,13193,'guest',200,'2002-11-30 01:51:23','/contacts','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4689,13193,'guest',200,'2002-11-30 01:49:40','/contacts','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4688,12892,'guest',200,'2002-11-30 01:46:58','/actions','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4686,13819,'guest',200,'2002-11-30 01:44:22','/status','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4687,12983,'guest',200,'2002-11-30 01:44:26','/contacts','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4685,13904,'guest',200,'2002-11-30 01:38:43','/status','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4683,14363,'guest',200,'2002-11-30 01:18:59','/status','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4684,13992,'guest',200,'2002-11-30 01:35:23','/status','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4681,14363,'guest',200,'2002-11-30 01:16:57','/status','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4682,14363,'guest',200,'2002-11-30 01:17:56','/status','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4680,14336,'guest',200,'2002-11-30 01:15:34','/status','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4678,14336,'guest',200,'2002-11-30 01:13:38','/status','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4679,14336,'guest',200,'2002-11-30 01:15:00','/status','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4677,14336,'guest',200,'2002-11-30 01:11:29','/status','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4675,14451,'guest',200,'2002-11-30 01:03:34','/status','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4676,14451,'guest',200,'2002-11-30 01:03:41','/status','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4674,14451,'guest',200,'2002-11-30 01:02:47','/status','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4672,14451,'guest',200,'2002-11-30 01:02:30','/status','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4673,14451,'guest',200,'2002-11-30 01:02:43','/status','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4671,15642,'guest',200,'2002-11-30 01:02:09','/projects','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4670,15601,'guest',200,'2002-11-30 00:57:07','/projects','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4669,15601,'guest',200,'2002-11-30 00:57:02','/projects','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4667,10008,'guest',200,'2002-11-30 00:53:25','/projects','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4668,13766,'guest',200,'2002-11-30 00:56:19','/contacts','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4666,9257,'guest',200,'2002-11-30 00:53:17','/contacts','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4665,9257,'guest',200,'2002-11-30 00:53:02','/contacts','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4664,9257,'guest',200,'2002-11-30 00:51:52','/contacts','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4663,27196,'guest',200,'2002-11-30 00:51:45','/contactssummary','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4662,49058,'guest',200,'2002-11-30 00:51:35','/dashboard','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4660,10342,'guest',200,'2002-11-30 00:50:46','/projects/display','?kv=73','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4661,15642,'guest',200,'2002-11-30 00:51:21','/projects','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4659,603,NULL,500,'2002-11-30 00:48:47','/projects/display','?kv=73','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4657,302,NULL,301,'2002-11-30 00:27:50','/','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4658,5639,'guest',200,'2002-11-30 00:27:50','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4655,10342,'guest',200,'2002-11-30 00:27:03','/projects/display','?kv=73','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4656,10342,'guest',200,'2002-11-30 00:27:38','/projects/display','?kv=73','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4654,15601,'guest',200,'2002-11-30 00:26:44','/projects','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4652,15356,'guest',200,'2002-11-30 00:25:18','/projectssummary','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4653,15601,'guest',200,'2002-11-30 00:25:21','/projects','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4651,12393,'guest',200,'2002-11-30 00:25:14','/kit','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4650,11218,'guest',200,'2002-11-30 00:25:11','/contactlog','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4648,13725,'guest',200,'2002-11-30 00:25:01','/contacts','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4646,49058,'guest',200,'2002-11-30 00:24:48','/dashboard','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4649,11649,'guest',200,'2002-11-30 00:25:08','/tripreports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4647,27196,'guest',200,'2002-11-30 00:24:57','/contactssummary','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4645,49058,'guest',200,'2002-11-30 00:24:30','/dashboard','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4643,49058,'guest',200,'2002-11-30 00:24:03','/dashboard','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4644,49058,'guest',200,'2002-11-30 00:24:13','/dashboard','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4642,49058,'guest',200,'2002-11-30 00:23:42','/dashboard','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4640,49058,'guest',200,'2002-11-30 00:23:24','/dashboard','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4641,49058,'guest',200,'2002-11-30 00:23:38','/dashboard','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4639,49058,'guest',200,'2002-11-30 00:23:04','/dashboard','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4637,49059,'guest',200,'2002-11-30 00:22:05','/dashboard','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4636,48989,'guest',200,'2002-11-30 00:18:01','/dashboard','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4638,49058,'guest',200,'2002-11-30 00:22:28','/dashboard','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4635,48989,'guest',200,'2002-11-30 00:17:50','/dashboard','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4633,48995,'guest',200,'2002-11-30 00:16:17','/dashboard','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4634,48988,'guest',200,'2002-11-30 00:17:40','/dashboard','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4630,48995,'guest',200,'2002-11-30 00:14:55','/dashboard','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4632,48995,'guest',200,'2002-11-30 00:15:55','/dashboard','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4631,48995,'guest',200,'2002-11-30 00:14:58','/dashboard','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4629,48995,'guest',200,'2002-11-30 00:14:42','/dashboard','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4628,48995,'guest',200,'2002-11-30 00:14:25','/dashboard','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4626,48995,'guest',200,'2002-11-30 00:13:55','/dashboard','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4627,48995,'guest',200,'2002-11-30 00:14:22','/dashboard','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4625,48995,'guest',200,'2002-11-30 00:13:51','/dashboard','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4624,48994,'guest',200,'2002-11-30 00:13:20','/dashboard','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4622,48994,'guest',200,'2002-11-30 00:10:02','/dashboard','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4623,48994,'guest',200,'2002-11-30 00:12:16','/dashboard','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4621,48984,'guest',200,'2002-11-30 00:04:48','/dashboard','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4619,5639,'guest',200,'2002-11-30 00:04:30','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4620,19920,'guest',200,'2002-11-30 00:04:36','/details','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4618,473,NULL,401,'2002-11-30 00:04:26','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4615,48985,'guest',200,'2002-11-30 00:01:08','/dashboard','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4617,302,NULL,301,'2002-11-30 00:04:26','/','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4616,48988,'guest',200,'2002-11-30 00:03:59','/dashboard','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4614,48989,'guest',200,'2002-11-29 23:59:46','/dashboard','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4613,49059,'guest',200,'2002-11-29 23:43:16','/dashboard','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4612,49059,'guest',200,'2002-11-29 23:41:55','/dashboard','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4611,49059,'guest',200,'2002-11-29 23:37:01','/dashboard','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4610,21065,'guest',200,'2002-11-29 23:35:33','/my_columns','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4609,49024,'guest',200,'2002-11-29 22:21:40','/dashboard','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4608,49024,'guest',200,'2002-11-29 22:20:38','/dashboard','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4607,49024,'guest',200,'2002-11-29 22:19:22','/dashboard','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4606,49024,'guest',200,'2002-11-29 22:19:14','/dashboard','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4604,19960,'guest',200,'2002-11-29 22:18:59','/details','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4603,5609,'guest',200,'2002-11-29 22:18:56','/reports','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4605,5609,'guest',200,'2002-11-29 22:19:10','/reports','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4602,15567,'guest',200,'2002-11-29 22:18:52','/projects','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4601,15326,'guest',200,'2002-11-29 22:18:48','/projectssummary','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4600,21030,'guest',200,'2002-11-29 22:18:28','/my_columns','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4597,21030,'guest',200,'2002-11-29 22:17:02','/my_columns','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4599,21073,'guest',200,'2002-11-29 22:17:50','/my_columns','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4596,21030,'guest',200,'2002-11-29 22:16:50','/my_columns','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4598,21030,'guest',200,'2002-11-29 22:17:23','/my_columns','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4595,21030,'guest',200,'2002-11-29 22:16:04','/my_columns','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4593,5157,'guest',200,'2002-11-29 22:15:32','/my_columns','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4594,21073,'guest',200,'2002-11-29 22:15:52','/my_columns','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4592,5157,'guest',200,'2002-11-29 22:15:03','/my_columns','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4590,19960,'guest',200,'2002-11-29 22:14:18','/details','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4591,19960,'guest',200,'2002-11-29 22:14:53','/details','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4589,5609,'guest',200,'2002-11-29 22:14:05','/reports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4587,4909,'guest',200,'2002-11-29 22:13:40','/my_exceptions','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4588,5157,'guest',200,'2002-11-29 22:13:48','/my_columns','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4586,5157,'guest',200,'2002-11-29 22:13:27','/my_columns','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4585,5077,'guest',200,'2002-11-29 22:13:24','/admin','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4582,4566,'guest',200,'2002-11-29 22:12:24','/projects','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4584,4550,'guest',200,'2002-11-29 22:12:30','/actions','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4583,4564,'guest',200,'2002-11-29 22:12:28','/status','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4581,4566,'guest',200,'2002-11-29 22:12:19','/projects','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4580,15326,'guest',200,'2002-11-29 22:12:15','/projectssummary','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4579,4665,'guest',200,'2002-11-29 22:12:12','/kit','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4578,4763,'guest',200,'2002-11-29 22:12:10','/contactlog','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4577,4697,'guest',200,'2002-11-29 22:11:52','/tripreports','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4576,4697,'guest',200,'2002-11-29 22:11:48','/tripreports','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4575,13732,'guest',200,'2002-11-29 22:11:44','/contacts','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4574,27166,'guest',200,'2002-11-29 22:11:37','/contactssummary','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4573,27166,'guest',200,'2002-11-29 22:10:30','/contactssummary','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4570,19960,'guest',200,'2002-11-29 21:07:45','/details','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4572,19960,'guest',200,'2002-11-29 22:04:51','/details','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4571,19960,'guest',200,'2002-11-29 21:07:52','/details','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4569,19960,'guest',200,'2002-11-29 21:07:20','/details','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4566,19960,'guest',200,'2002-11-29 21:06:08','/details','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4568,19960,'guest',200,'2002-11-29 21:07:15','/details','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4567,19960,'guest',200,'2002-11-29 21:06:12','/details','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4564,473,NULL,401,'2002-11-29 21:06:03','/reports','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4565,5609,'guest',200,'2002-11-29 21:06:05','/reports','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4563,302,NULL,301,'2002-11-29 21:06:03','/','','Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.5)'); ! INSERT INTO accesses VALUES (4562,19960,'guest',200,'2002-11-29 21:05:30','/details','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4560,11489,'guest',200,'2002-11-29 20:43:33','/eq_types','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4561,11489,'guest',200,'2002-11-29 21:05:21','/eq_types','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4559,13080,'guest',200,'2002-11-29 20:43:31','/stages','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4557,13564,'guest',200,'2002-11-29 20:43:27','/history','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4558,15313,'guest',200,'2002-11-29 20:43:29','/regions','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4556,12906,'guest',200,'2002-11-29 20:43:26','/my_exceptions','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4554,17796,'guest',200,'2002-11-29 20:43:01','/my_tables','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4555,18731,'guest',200,'2002-11-29 20:43:22','/my_tables','?sb=3','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4553,21030,'guest',200,'2002-11-29 20:42:56','/my_columns','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4552,5077,'guest',200,'2002-11-29 20:42:54','/admin','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4550,13772,'guest',200,'2002-11-29 20:42:48','/contacts','?sb=9','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4551,13706,'guest',200,'2002-11-29 20:42:50','/contacts','?sb=10','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4549,13743,'guest',200,'2002-11-29 20:42:46','/contacts','?sb=8','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4548,13746,'guest',200,'2002-11-29 20:42:44','/contacts','?sb=7','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4547,13720,'guest',200,'2002-11-29 20:42:36','/contacts','?sb=5','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4545,13758,'guest',200,'2002-11-29 20:42:32','/contacts','?sb=2','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4546,13729,'guest',200,'2002-11-29 20:42:34','/contacts','?sb=3','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4544,13348,'guest',200,'2002-11-29 20:38:04','/getpage','?chpt=add_table_revise','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4543,13126,'guest',200,'2002-11-29 20:38:00','/getpage','?chpt=add_table_script','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4542,9922,'guest',200,'2002-11-29 20:37:48','/getpage','?chpt=add_table_create','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4541,8293,'guest',200,'2002-11-29 20:37:44','/getpage','?chpt=add_table_overview','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4540,8571,'guest',200,'2002-11-29 20:37:38','/getpage','?chpt=about','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4539,14598,'guest',200,'2002-11-29 20:37:29','/getpage','?chpt=upgrade_proc','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4538,6356,'guest',200,'2002-11-29 20:37:26','/getpage','?guide=admin','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4537,8598,'guest',200,'2002-11-29 20:37:21','/getpage','?chpt=dev_my_columns','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4536,8902,'guest',200,'2002-11-29 20:37:15','/getpage','?chpt=admin_tables','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4535,17236,'guest',200,'2002-11-29 20:36:31','/getpage','?chpt=how_appwrap_works','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4534,10559,'guest',200,'2002-11-29 20:36:23','/getpage','?chpt=phases','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4532,7151,'guest',200,'2002-11-29 20:36:08','/getpage','?chpt=help_project','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4533,5566,'guest',200,'2002-11-29 20:36:21','/getpage','?guide=dev','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4530,6370,'guest',200,'2002-11-29 20:33:23','/getpage','?guide=user','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4531,6288,'guest',200,'2002-11-29 20:34:40','/getpage','?guide=user','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4529,6370,'guest',200,'2002-11-29 20:30:37','/getpage','?guide=user','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4528,6604,'guest',200,'2002-11-29 20:29:41','/getpage','?guide=user','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4527,13393,'guest',200,'2002-11-29 20:24:12','/actions','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4526,12426,'guest',200,'2002-11-29 20:24:09','/status','?page=1&sb=1','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4524,15567,'guest',200,'2002-11-29 20:24:04','/projects','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4522,11184,'guest',200,'2002-11-29 20:23:54','/contactlog','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4525,14417,'guest',200,'2002-11-29 20:24:06','/status','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4523,15326,'guest',200,'2002-11-29 20:24:01','/projectssummary','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4521,11184,'guest',200,'2002-11-29 20:23:07','/contactlog','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4519,12359,'guest',200,'2002-11-29 20:22:20','/kit','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4517,13691,'guest',200,'2002-11-29 20:18:33','/contacts','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4520,12401,'guest',200,'2002-11-29 20:23:02','/kit','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4518,11615,'guest',200,'2002-11-29 20:18:38','/tripreports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4516,11615,'guest',200,'2002-11-29 20:18:20','/tripreports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4514,4697,'guest',200,'2002-11-29 20:13:07','/tripreports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4515,11660,'guest',200,'2002-11-29 20:18:02','/tripreports','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4513,13732,'guest',200,'2002-11-29 20:13:04','/contacts','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4511,4446,'guest',200,'2002-11-29 20:11:08','/getpage','?guide=pod','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4512,27166,'guest',200,'2002-11-29 20:12:51','/contactssummary','','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4510,4446,'guest',200,'2002-11-29 20:10:09','/getpage','?guide=pod','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4508,4446,'guest',200,'2002-11-29 20:08:05','/getpage','?guide=pod','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4509,4446,'guest',200,'2002-11-29 20:09:00','/getpage','?guide=pod','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4507,4446,'guest',200,'2002-11-29 19:47:29','/getpage','?guide=pod','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4506,4446,'guest',200,'2002-11-29 19:44:29','/getpage','?guide=pod','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4504,4446,'guest',200,'2002-11-29 19:23:46','/getpage','?guide=pod','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4505,4446,'guest',200,'2002-11-29 19:26:36','/getpage','?guide=pod','Opera/6.0 (Windows 98; U) [en]'); ! INSERT INTO accesses VALUES (4502,4446,'guest',200,'2002-11-29 19:23:35','/g... [truncated message content] |
From: <pla...@us...> - 2002-12-01 01:17:09
|
Update of /cvsroot/appwrap/AppWrap/Apache In directory sc8-pr-cvs1:/tmp/cvs-serv7900 Modified Files: AW_User.pm Log Message: many performance tweaks and CSS Migration issues Index: AW_User.pm =================================================================== RCS file: /cvsroot/appwrap/AppWrap/Apache/AW_User.pm,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** AW_User.pm 22 Nov 2002 10:09:43 -0000 1.6 --- AW_User.pm 1 Dec 2002 01:17:04 -0000 1.7 *************** *** 17,22 **** use AppWrap qw(%config); use Apache::AppWrap::Subs qw($dbh $HNL); ! use Date::Format; ! use Date::Parse; use Date::Calc qw(Week_of_Year); use GD::Graph (); --- 17,22 ---- use AppWrap qw(%config); use Apache::AppWrap::Subs qw($dbh $HNL); ! use Date::Format qw(time2str); [...962 lines suppressed...] } --- 2605,2609 ---- my @members; foreach ( @{ $product_ref->{$product_id}{consists} } ) { ! my $ary = unpack_products($opts,$_->{member},qw(family release platform_vendor platform_release)); push @members, join("", @$ary) if $ary; } *************** *** 2625,2629 **** my (@rows, $values, $labels); # populate test tables data structure ! $opts->{testtables} ||= &Apache::AW_User::get_testtables($opts); my $testtables = $opts->{testtables}; --- 2627,2631 ---- my (@rows, $values, $labels); # populate test tables data structure ! $opts->{testtables} ||= get_testtables($opts); my $testtables = $opts->{testtables}; |
From: <pla...@us...> - 2002-12-01 01:08:33
|
Update of /cvsroot/appwrap/AppWrap/Apache/AppWrap In directory sc8-pr-cvs1:/tmp/cvs-serv1973 Modified Files: POST2GET.pm Log Message: POD updates Index: POST2GET.pm =================================================================== RCS file: /cvsroot/appwrap/AppWrap/Apache/AppWrap/POST2GET.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** POST2GET.pm 29 Nov 2002 13:31:43 -0000 1.2 --- POST2GET.pm 1 Dec 2002 01:08:28 -0000 1.3 *************** *** 6,9 **** --- 6,10 ---- my $r = shift; return DECLINED unless $r->method =~ m/POST/i; + #$r->log->debug("\ngot to POST2GET"); $r->args(scalar $r->content); $r->method('GET'); *************** *** 22,31 **** =head1 SYNOPSIS ! Enter these lines in the Apache configuration file: - PerlModule Apache::AppWrap::POST2GET PerlInitHandler Apache::AppWrap::POST2GET ! or put this line in the mod_perl startup file: use Apache::AppWrap::POST2GET; --- 23,31 ---- =head1 SYNOPSIS ! Enter this line in the Apache configuration file: PerlInitHandler Apache::AppWrap::POST2GET ! and put this line in the mod_perl startup file: use Apache::AppWrap::POST2GET; |