Switch branches/tags
Commits on Apr 8, 2004
  1. added French translation of debconf templates (Closes: #242771,

    racke committed Apr 8, 2004
    thanks to Christian Perrier <>)
Commits on Apr 7, 2004
Commits on Apr 2, 2004
  1. * Add ability to control directory creation and umask of uploaded files.

    perusionmike committed Apr 2, 2004
      Automatic creation of directory:
       [set mv_auto_create_dir]1[/set]
      The umask for creation operation:
       [set mv_create_umask]02[/set]
  2. * SpecialSub -- directive to specify subroutines (catalog or global)

    perusionmike committed Apr 2, 2004
      upon certain conditions, i.e. "missing".
      When the routine is called, it should perform whatever action is
      required. If it wants the catalog to continue with the default
      action, i.e. the "missing" special page, it should return false.
      If it returns true, and there is no second parameter of a page name
      returned, it will be assumed all required action has
      been taken and the default action will not be performed.
      If it returns true, and a second parameter is returned, it
      is the name of a page to display in lieu of the original one.
      This allows
        SpecialSub  missing  check_category
        Sub check_category <<EOS
        sub {
            my ($name) = @_;
            return unless $name =~ m{^[A-Z]};
            $name =~ s,_, ,g;
            my ($prod_group, $category) = split m{/}, $name;
            $CGI->{co} = 1;
            $CGI->{fi} = 'products';
            $CGI->{st} = 'db';
            $CGI->{sf} = join "\0", 'prod_group', 'category';
            $CGI->{op} = join "\0", 'eq', 'eq';
            $CGI->{se} = join "\0", $prod_group, $category;
            $CGI->{sp} = 'results';
            $CGI->{mv_todo} = 'search';
            return (1, 'results');
      You can also use a GlobalSub to perform actions not allowed in a catalog
    * The Vend::Page module is modified to call a "missing" SpecialSub if
      it exists. No other actions are currently handled.
Commits on Mar 31, 2004
  1. found two problems with set_slice:

    racke committed Mar 31, 2004
    * set_slice modifies the arrays for fields and values if
      references are passed as argument, can cause problem
      in user's code if key isn't the first column
    * passing a list like qw(os23445 price 2 color red) sucked
      all parameters from @_, e.g.:
    > query was:insert into hit
    VALUES (?,?,?,?,?,?,?,?,?)
Commits on Mar 30, 2004
  1. Pass credit card security code through to Verisign if provided in

    jonjensen committed Mar 30, 2004
    CGI parameter mv_credit_card_cvv2.
Commits on Mar 29, 2004
Commits on Mar 28, 2004
Commits on Mar 26, 2004
  1. * Fixed a weird bug where null HTTP variables were being passed

    Kevin Walsh
    Kevin Walsh committed Mar 26, 2004
    	  under certain circumstances.
    	* Added a SUN_LEN() macro for those operating systems that don't
    	  have one already.  I think this was done for Solaris.  I can't
    	  remember now. :-)
    	* Fixed a bunch of potential buffer overflows.  Each of them would
    	  have a very remote possibility of being tripped, unless intentionally.
    	* Added a "OrdinaryFileList" directive to DECLINE requests where the
    	  path starts with one of the values in the list.  If this module
    	  DECLINEs a request then Apache will attempt to serve the request
    	  instead.  This is useful for creating excptions to <Location />,
    	  for image files etc.
    	* Added a "FilesContext" directive so that we can handle ourselves
    	  if we are called from within a <Files> context instead of a
    	  <Location>.  If I can find a way to determine this automatically
    	  then I will drop this directive.  Consider it to be depreciated
    	  even though it has only just been added.
    	* Added a "URIPathPrefix" directive to replace the leading '/'
    	  in the SCRIPT_NAME with the given value, before passing the
    	  request on to Interchange.
    	* Removed "FilesContext" and "URIPathPrefix" configuration directives
    	  and replaced with a new "InterchangeScript" directive.  The new
    	  "InterchangeScript" can be used to specify a SCRIPT_NAME to pass
    	  to Interchange.  The value will override the SCRIPT_NAME=/foo that
    	  would default from <Location /foo>.
    	* Lots of minor cleanups.
Commits on Mar 25, 2004
  1. * Always pass the customer's IP address as part of the payment

    Kevin Walsh
    Kevin Walsh committed Mar 25, 2004
    	  request.  This patch was supplied by Gary Benson - thanks!
Commits on Mar 20, 2004
  1. dangling i18n support added

    racke committed Mar 20, 2004
Commits on Mar 19, 2004
  1. display columns in the same order as in the columns parameter

    racke committed Mar 19, 2004
    needed for UI-offshore usage
Commits on Mar 14, 2004
  1. Fix proper reference.

    Ton Verhagen
    Ton Verhagen committed Mar 14, 2004
  2. Enable overall options when template is

    Ton Verhagen
    Ton Verhagen committed Mar 14, 2004
    	passed to the tag.
  3. * Fix bug reported by Chen Naor -- second table with foreign key was …

    perusionmike committed Mar 14, 2004
    …not working
      for delete because of improperly localized variable.
Commits on Mar 12, 2004
  1. updated with survey dot files

    racke committed Mar 12, 2004
  2. translation continued

    racke committed Mar 12, 2004
  3. fix call to errmsg

    racke committed Mar 12, 2004
  4. i18n initialization added

    racke committed Mar 12, 2004
  5. Commented out 'duplicate' assignment.

    Ton Verhagen
    Ton Verhagen committed Mar 12, 2004
  6. Allow row_template for non database items.

    Ton Verhagen
    Ton Verhagen committed Mar 12, 2004
    	Commented out some debug statements.
  7. Fix bug preventing custom JavaScript from functioning: The the /g regex

    jonjensen committed Mar 12, 2004
    substition option was causing all the captured matches to be swallowed up
    before the while loop could process them.
    Make sure onClick doesn't stick to HTML attribute to its left.
    Add a wee bit of documentation on how to use this feature.
    Patch supplied by Spencer Christensen <>.
    Thanks, Spencer!
Commits on Mar 11, 2004
Commits on Mar 8, 2004
  1. weed out duplicates in ui_data_fields originating from bad metadata,

    racke committed Mar 8, 2004
    causing error in item edit:
    probable bad form -- number of values min=0 (wholesale) max=2 (sku)
Commits on Mar 7, 2004
  1. * Occasionally in PreFork mode you will find a server that gets "star…

    perusionmike committed Mar 7, 2004
      in other words never seems to win the battle and receive a page request.
      It just sits there forever, not killable or anything.
      Add ChildLife directive which times out a page server after a period
      of time.
      	ChildLife   30 minutes
      This is the usual Interchange time_to_seconds value.
      If ChildLife is not set, the default, the server will act just
      like it does now, stuck in that internal loop forever until
      kill -9 happens.
      All it does is set the start_time of the server, and then when
      HouseKeeping seconds goes by it checks the current time and lasts
      the server (just like MaxRequestsPerChild, basically) if it
      has expired.
      Should clear up the problem people have with a growing number of
      servers over time.
    * Also removed setting of $C->{Source}->{$var} for time_to_seconds
      types, as it triggered a bug within Perl and caused my system
      to barf.
  2. * Add PostURL, SecurePostURL, and ProcessPage directives. This allows

    perusionmike committed Mar 7, 2004
      a different path for GET and POST requests (presuming you only post
      with the [process] tag for the <form> action).
      This allows Interchange to handle internal redirects and DirectoryIndex
      requests via Apache transparently via reading the REDIRECT_* environment.
      It should also allow internal redirects via other modules such as mod_perl.
      The default for the [process ..] tag is the same as now, to use VendURL
      or SecureVendURL as the default URL.
      If you set up in Apache:
      	DirectoryIndex index.html /cgi-bin/foundation
    	<LocationMatch *\.html>
    		ErrorDocument 404 /cgi-bin/foundation
      In interchange.cfg:
      	AcceptRedirect Yes
      In catalog.cfg:
    	DirectoryIndex  index.html
    	DeliverImage    yes
      then a properly set up catalog (using [process href="[whatever]"]
      on any form action that is a POST) will look just like a static
      HTML site, and will deliver relative images and simple links
      properly for a GET.
      There should be no difference to normal operation of Interchange if
      these changes are not made.
    * Delivering images properly for a POST is a different story. There
      needs to be some thought on this -- it could be that:
    		my $method = $Tag->env('REQUEST_METHOD');
    		return unless $method =~ /post/i;
    		my $path = '@@MV_PAGE@@';
    		return unless $path =~ s,(.*)/.*,$1,;
    		return qq{<BASE HREF="$path">};
      will handle most anything.
    * Improve handling of
    	 [page href=""
       It will now deliver the link you would expect: