Interchange

CVS log for interchange/lib/Vend/Util.pm

[BACK] Up to [Local Repository] / interchange / lib / Vend

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 2.120: download - view: text, markup, annotated - select for diffs
Fri Sep 26 14:57:58 2008 UTC (7 weeks, 5 days ago) by racke
Branches: MAIN
CVS tags: REL_5_7_1, HEAD
Diff to: previous 2.119: preferred, colored
Changes since revision 2.119: +6 -2 lines
lines attribute added to [nitems] to show the number of lines in the shopping
cart instead of the sum of the items (#225).

Revision 2.119: download - view: text, markup, annotated - select for diffs
Sat Sep 13 04:28:56 2008 UTC (2 months, 1 week ago) by jon
Branches: MAIN
Diff to: previous 2.118: preferred, colored
Changes since revision 2.118: +4 -4 lines
Support "secure cookies", which are sent only over SSL connections.

Use [set-cookie ... secure=1] to enable.

This is from a patch by Frederic Steinfels <fst@highdefinition.ch> from
2006-05-19, which fell between the cracks.

Thanks, Frederic!

Revision 2.118: download - view: text, markup, annotated - select for diffs
Thu Mar 27 15:56:49 2008 UTC (7 months, 3 weeks ago) by ton
Branches: MAIN
CVS tags: STABLE_5_6-root, STABLE_5_6-branch, REL_5_6_1, REL_5_5_3, REL_5_5_2
Diff to: previous 2.117: preferred, colored
Changes since revision 2.117: +7 -6 lines
	Allow rounding of negative numbers
	by round_to_frac_digits routine.

Revision 2.117: download - view: text, markup, annotated - select for diffs
Tue Mar 25 17:13:21 2008 UTC (7 months, 3 weeks ago) by jon
Branches: MAIN
Diff to: previous 2.116: preferred, colored
Changes since revision 2.116: +3 -3 lines
Various minor UTF-8 changes.

Correct attribution of &Vend::CharSet::display_chars (which is from
perluniintro manpage).

Enable localization of an error string.

Match content type more tightly in 2 spots ("text" is only trustworthy
in the MIME major type, not minor, and even that may be a stretch).

Simplify request method matching in a few places for readability and a
(trivial) performance benefit.

Use conventional $c lexical instead of $g for catalog hashref.

Fix tab/space differences to match context.

Update copyrights of files changed in 2008.

Revision 2.116: download - view: text, markup, annotated - select for diffs
Tue Mar 25 10:17:18 2008 UTC (7 months, 3 weeks ago) by kwalsh
Branches: MAIN
Diff to: previous 2.115: preferred, colored
Changes since revision 2.115: +3 -2 lines
    * Committing Sonny Cook's UTF-8 patches, along with a fix for the
      PreFork issue caused by the patches.  Thanks, Sonny!

    * From Sonny's original article on interchange-core:

	There are two variables that will need to be added to your
	catalog.cfg:  MV_HTTP_CHARSET and MV_UTF8.  They should be set
	like so:

	    Variable MV_HTTP_CHARSET UTF-8
	    Variable MV_UTF8         1

	The MV_UTF8 variable tells the system that we are using UTF-8
	for stuff internally when that needs to be specified.  Perl mostly
	does the right thing wrt UTF-8, but when we need to explicitly
	specify for one of a handful of reasons, this variable lets us
	configure that.

	The MV_HTTP_CHARSET specifies which character set that the web
	pages are going to be encoded with.  UTF-8 is the only value that
	has been tested at the moment, although it probably generalises
	to whatever you would like to use.

	Communication with the database introduces three database
	directives.  These are required to ensure that data is properly
	communicated with the database:

	    PG_ENABLE_UTF8
	    MYSQL_ENABLE_UTF8
	    GDBM_ENABLE_UTF8

	These can be set on a table by table basis or with DatabaseDefault.
	You will probably want to set the one for the sql database you are
	using and one for GDBM, like so:

	    DatabaseDefault PG_ENABLE_UTF8 1
	    DatabaseDefault GDBM_ENABLE_UTF8 1

	You will need to make sure that your database is encoded in UTF-8
	and that all of your data is encoded that way as well.

	Enabling UTF-8 should not cause any problems if your data is all in
	US-ASCII, but might cause problems if other encodings are involved.

    * Note: This commit is missing the latest safeuntrap/reval/safetrap
      code, which should be added ASAP.  In the meantime, the following
      works in the interchange.cfg file (with Perl 5.8.8):

	SafeUntrap  rand require caller dofile print

Revision 2.115: download - view: text, markup, annotated - select for diffs
Mon Feb 25 17:17:35 2008 UTC (8 months, 3 weeks ago) by mheins
Branches: MAIN
Diff to: previous 2.114: preferred, colored
Changes since revision 2.114: +3 -3 lines

* Fix bug in regex for auto_format anchor handling.

Revision 2.87.2.4: download - view: text, markup, annotated - select for diffs
Mon Feb 25 17:17:18 2008 UTC (8 months, 3 weeks ago) by mheins
Branches: STABLE_5_4-branch
CVS tags: REL_5_4_3
Diff to: previous 2.87.2.3: preferred, colored; branchpoint 2.87: preferred, colored; next MAIN 2.88: preferred, colored
Changes since revision 2.87.2.3: +3 -3 lines

* Fix bug in regex for auto_format anchor handling.

Revision 2.114: download - view: text, markup, annotated - select for diffs
Mon Feb 4 21:36:58 2008 UTC (9 months, 2 weeks ago) by kwalsh
Branches: MAIN
Diff to: previous 2.113: preferred, colored
Changes since revision 2.113: +35 -2 lines
    * Added a backtrace() subroute that I find useful every now and again.

Revision 2.113: download - view: text, markup, annotated - select for diffs
Wed Sep 12 15:01:39 2007 UTC (14 months, 1 week ago) by kwalsh
Branches: MAIN
Diff to: previous 2.112: preferred, colored
Changes since revision 2.112: +3 -2 lines
    * I'm not sure what en_UK is, or even what the list is for, but I'm
      sure that en_GB needs to be in there.  Someone please remove en_UK
      if it's bogus.

Revision 2.112: download - view: text, markup, annotated - select for diffs
Tue Sep 11 16:56:56 2007 UTC (14 months, 1 week ago) by kwalsh
Branches: MAIN
Diff to: previous 2.111: preferred, colored
Changes since revision 2.111: +3 -3 lines
    * This was such a short patch that I didn't bother to test it.
      That'll teach me, as I now find myself posting a second correction
      for my two-line patch.

Revision 2.111: download - view: text, markup, annotated - select for diffs
Tue Sep 11 16:52:14 2007 UTC (14 months, 1 week ago) by kwalsh
Branches: MAIN
Diff to: previous 2.110: preferred, colored
Changes since revision 2.110: +3 -3 lines
    * Fixed a copy/paste error in my last commit.

Revision 2.110: download - view: text, markup, annotated - select for diffs
Tue Sep 11 16:19:59 2007 UTC (14 months, 1 week ago) by kwalsh
Branches: MAIN
Diff to: previous 2.109: preferred, colored
Changes since revision 2.109: +4 -4 lines
    * Aboid problems arrising from an undefined TemplateDir.

Revision 2.109: download - view: text, markup, annotated - select for diffs
Mon Sep 10 17:35:01 2007 UTC (14 months, 1 week ago) by kwalsh
Branches: MAIN
Diff to: previous 2.108: preferred, colored
Changes since revision 2.108: +3 -3 lines
    * Updated the previous commit to use a "return" statement, rather
      than just "undef", as suggested by Jon Jensen.

Revision 2.108: download - view: text, markup, annotated - select for diffs
Sun Sep 9 23:04:21 2007 UTC (14 months, 1 week ago) by kwalsh
Branches: MAIN
Diff to: previous 2.107: preferred, colored
Changes since revision 2.107: +3 -2 lines
    * ::logDebug() shouldn't return anything at all.  This patch should
      help avoid any future debug-related "gotchas".

Revision 2.107: download - view: text, markup, annotated - select for diffs
Tue Jul 24 02:50:38 2007 UTC (15 months, 4 weeks ago) by mheins
Branches: MAIN
CVS tags: REL_5_5_1, DEB_5_5_1_1_1, DEB_5_5_1
Diff to: previous 2.106: preferred, colored
Changes since revision 2.106: +3 -3 lines
* Fix improper change from double to single quoting in escape string.

Revision 2.106: download - view: text, markup, annotated - select for diffs
Thu Jul 5 11:19:42 2007 UTC (16 months, 2 weeks ago) by pajamian
Branches: MAIN
Diff to: previous 2.105: preferred, colored
Changes since revision 2.105: +54 -2 lines
This patch makes the following changes to sessions per IP limit protection:

* There are now seperate settings for the amount of time allowed to trigger a
	lockout and the amount of time a lockout lasts for.

* Lockouts are now triggered based on new sessions per time limit, which is
	different from the old critera of new sessions between pauses of length
	time.  This means that if RobotLimit is set to 100 and the other
	settings were left at thier defaults then a 24 hour lockout would be
	triggered if a given IP address had 100 new sessions in any given 60
	minute time period.

Settings used by this patch:

RobotLimit: Used to determine the number of new sessions required to trigger a
	lockout.  Default is 0 which disables this feature alltogether.

Limit robot_expire: Used to determine the amount of time a lockout will last
	in days once triggered.  Can be less than 1, for example 0.04 is
	slightly less than an hour.  Default is 1.

Limit ip_session_expire: Used to determine the length of time in minutes for
	RobotLimit sessions to build up in the counter file and trigger a
	lockout.  Default is 60 (1 hour).  This can also be set to fractional
	numbers, for example 0.5 will allow 30 seconds.


Also make note of the following:

* When first implementing you should delete all the old counters with:
	rm -rf catroot/tmp/addr_ctr/*
...be careful with the above command, if mistyped it can seriously mess up
your filesystem.

* Shell command to view the contents of one of the binary new counter files:

	perl -e 'binmode STDIN;' -e '$/=undef;' -e '$_ = <STDIN>;' \
	-e 's/(.{4})/localtime(unpack("N",$1))."\n"/seg;' \
	-e 'print;' < 0_0_0_0

...where 0_0_0_0 is the filename of the binary counter.  The command will
show you a list of timestamps in human readable form.

Revision 2.105: download - view: text, markup, annotated - select for diffs
Thu Jul 5 10:01:25 2007 UTC (16 months, 2 weeks ago) by racke
Branches: MAIN
Diff to: previous 2.104: preferred, colored
Changes since revision 2.104: +4 -4 lines
stop mangling of UTF-8 characters (#58)

Revision 2.104: download - view: text, markup, annotated - select for diffs
Tue Jun 12 16:27:33 2007 UTC (17 months, 1 week ago) by mheins
Branches: MAIN
Diff to: previous 2.103: preferred, colored
Changes since revision 2.103: +8 -17 lines
* Remove inefficient tests for template tags, setting the whole
  debug info array except for the caller() ones.

Revision 2.103: download - view: text, markup, annotated - select for diffs
Tue Jun 12 15:55:49 2007 UTC (17 months, 1 week ago) by mheins
Branches: MAIN
Diff to: previous 2.102: preferred, colored
Changes since revision 2.102: +43 -4 lines
* Add a couple of new features in debug. (I had originally been waiting to
  do this in my "big debug/logging update", but that never happened.)

* DebugTemplate, a global directive, gives the ability to change the format
  of debug messages. You have the ability to add the following:

    - Any %H %M %S tags are interpreted as POSIX::strftime() markers. %% for
      a percent sign, of course.
    - {CALLER0}..{CALLER9} gives the member of the caller() list.
    - {CATALOG} gives the current catalog name.
    - {HOST} gives the host (or IP address).
    - {MESSAGE} is the marker to show the actual debug message.
    - {PAGE} gives the current $Global::Varialble->{MV_PAGE}
    - {REMOTE_ADDR} gives the IP address.
    - {TAG} gives the current tag name in Vend::Parse

* DebugHost, a catalog directive, allows you to turn on debug only for
  selected hosts. It accepts a list of IP address ranges, i.e.:

    DebugHost 10.1.1.0/24 12.176.97.0/25

* The SpecialSub debug_qualify, if present, is run to determine whether
  debug should be turned on. For instance the following:

    Sub  check_for_debug_cgi   sub { return $CGI->{debug} }

    SpecialSub debug_qualify check_for_debug_cgi

  Would only turn on debug when debug=1 is in the URL/form. Obviously
  there are chicken before egg issues when you are early in the dispatch
  cycle, so be careful!

* To support DebugHost, added a parse_ip_address_regexp routine that
  relies on Net::IP::Match::Regexp module. We might want to investigate
  whether this one is fast enough so that we can replace $Global::RobotIP
  regexes and such....I didn't worry about speed since this is just debug,
  but the module is reputed to be pretty fast. Certainly it should be for
  small lists.

Revision 2.87.2.3: download - view: text, markup, annotated - select for diffs
Fri Mar 30 12:15:29 2007 UTC (19 months, 3 weeks ago) by pajamian
Branches: STABLE_5_4-branch
Diff to: previous 2.87.2.2: preferred, colored; branchpoint 2.87: preferred, colored
Changes since revision 2.87.2.2: +4 -4 lines
New Free Software Foundation Address in headers of various files

Revision 2.102: download - view: text, markup, annotated - select for diffs
Fri Mar 30 11:39:46 2007 UTC (19 months, 3 weeks ago) by pajamian
Branches: MAIN
Diff to: previous 2.101: preferred, colored
Changes since revision 2.101: +4 -4 lines
New Free Software Foundation Address in headers of various files

Revision 2.101: download - view: text, markup, annotated - select for diffs
Tue Nov 21 22:32:12 2006 UTC (23 months, 4 weeks ago) by racke
Branches: MAIN
Diff to: previous 2.100: preferred, colored
Changes since revision 2.100: +3 -3 lines
preserve currency locale settings in a different repository set up at config time, fixes Debian bug #397750

Revision 2.100: download - view: text, markup, annotated - select for diffs
Wed Nov 15 15:49:17 2006 UTC (2 years ago) by kwalsh
Branches: MAIN
Diff to: previous 2.99: preferred, colored
Changes since revision 2.99: +3 -3 lines
    * Allow "convert=0" to be passed to the [currency] tag to override the
      the "locale" parameter's automatic conversion.

Revision 2.99: download - view: text, markup, annotated - select for diffs
Wed Nov 15 15:39:41 2006 UTC (2 years ago) by kwalsh
Branches: MAIN
Diff to: previous 2.98: preferred, colored
Changes since revision 2.98: +3 -2 lines
    * Make sure the "convert" parameter is set correctly, even if the tag
      is called from the recently modified [price] tag.

Revision 2.98: download - view: text, markup, annotated - select for diffs
Wed Oct 11 22:10:48 2006 UTC (2 years, 1 month ago) by kwalsh
Branches: MAIN
Diff to: previous 2.97: preferred, colored
Changes since revision 2.97: +3 -3 lines
    * If Net::SMTP failes to instantiate then the $smtp variable remains
      undefined.  This leads to bombshells such as "Can't call method "mail"
      on an undefined value".

Revision 2.97: download - view: text, markup, annotated - select for diffs
Mon Oct 9 22:09:52 2006 UTC (2 years, 1 month ago) by kwalsh
Branches: MAIN
Diff to: previous 2.96: preferred, colored
Changes since revision 2.96: +4 -2 lines
    * Silently ignore invalid tables in the PageTables list.  Could
      be changed to noisily ignore them, if someone would prefer it to
      do that.

Revision 2.87.2.2: download - view: text, markup, annotated - select for diffs
Wed Aug 30 18:56:22 2006 UTC (2 years, 2 months ago) by mheins
Branches: STABLE_5_4-branch
CVS tags: REL_5_4_2
Diff to: previous 2.87.2.1: preferred, colored; branchpoint 2.87: preferred, colored
Changes since revision 2.87.2.1: +8 -7 lines
* Fix problem where get_option_hash would return the reference itself
  when passed one. We need to return a copy so that we can be assured
  we won't modify a configuration value improperly. Since the user is
  asking for an option hash from a possible string, they should not ever
  need or want the exact same reference back.

  Most of the work done by Bruno Cantieni.

Revision 2.96: download - view: text, markup, annotated - select for diffs
Wed Aug 30 18:53:44 2006 UTC (2 years, 2 months ago) by mheins
Branches: MAIN
Diff to: previous 2.95: preferred, colored
Changes since revision 2.95: +8 -7 lines
* Fix problem where get_option_hash would return the reference itself
  when passed one. We need to return a copy so that we can be assured
  we won't modify a configuration value improperly. Since the user is
  asking for an option hash from a possible string, they should not ever
  need or want the exact same reference back.

  Most of the work done by Bruno Cantieni.

Revision 2.95: download - view: text, markup, annotated - select for diffs
Wed Aug 16 13:34:09 2006 UTC (2 years, 3 months ago) by mheins
Branches: MAIN
Diff to: previous 2.94: preferred, colored
Changes since revision 2.94: +6 -6 lines
* Remove all cases of "split //", which if modified could conceivably
  conflict with new // operator in Perl 5.10 (though that would be unlikely).

Revision 2.94: download - view: text, markup, annotated - select for diffs
Wed Apr 5 15:31:38 2006 UTC (2 years, 7 months ago) by mheins
Branches: MAIN
Diff to: previous 2.93: preferred, colored
Changes since revision 2.93: +7 -2 lines
* Allow limiting of size of logData error message.

	Limit  logdata_error_length  80

Revision 2.93: download - view: text, markup, annotated - select for diffs
Thu Mar 30 15:51:49 2006 UTC (2 years, 7 months ago) by racke
Branches: MAIN
Diff to: previous 2.92: preferred, colored
Changes since revision 2.92: +7 -4 lines
fix weird error with missing frac digits in UI typically caused by missing
locale in Debian installations, reported by Michael Hess on IRC (among
others)

Revision 2.92: download - view: text, markup, annotated - select for diffs
Tue Feb 21 12:18:38 2006 UTC (2 years, 8 months ago) by ton
Branches: MAIN
Diff to: previous 2.91: preferred, colored
Changes since revision 2.91: +13 -2 lines
	Apply Mike's patch:
	Add display option to [item-price] and [item subtotal]

Revision 2.91: download - view: text, markup, annotated - select for diffs
Thu Feb 16 21:44:10 2006 UTC (2 years, 9 months ago) by kwalsh
Branches: MAIN
Diff to: previous 2.90: preferred, colored
Changes since revision 2.90: +13 -4 lines
    * When display="text", make sure that the currency text is always
      displayed before the price value.  The p_cs_precedes value doesn't
      apply to the int_currency_symbol.

    * Make sure that the currency text is separated from the price value,
      just in case the administrator uses something like "GBP", instead
      of "GBP ", in the int_currency_symbol.

Revision 2.90: download - view: text, markup, annotated - select for diffs
Wed Feb 15 09:27:53 2006 UTC (2 years, 9 months ago) by ton
Branches: MAIN
Diff to: previous 2.89: preferred, colored
Changes since revision 2.89: +18 -5 lines
	Added a feature to the currency tag in order to display
	textual representation of the currency symbol. The so
	called international currency symbol according to the
	ISO 4217 standard.

	Usage:
	1. Add int_currency_symbol entry to the locale table.
	2. Add the display option to tags, like:

	   [total-cost display=text]

		Valid values for the display option:
		- text		Displays 'EUR ', 'GBP ', 'USD '  (EUR 125.40)
		- none		No symbol, displays formatted number only. (125.40)
		- symbol	Default behavior (same as calling the tag
					without display option)

Revision 2.89: download - view: text, markup, annotated - select for diffs
Sun Feb 12 22:23:58 2006 UTC (2 years, 9 months ago) by mheins
Branches: MAIN
Diff to: previous 2.88: preferred, colored
Changes since revision 2.88: +7 -2 lines
* Actually change the currency keys in Locale when doing a currency
  locale change.

Revision 2.87.2.1: download - view: text, markup, annotated - select for diffs
Fri Dec 23 15:47:52 2005 UTC (2 years, 10 months ago) by kwalsh
Branches: STABLE_5_4-branch
CVS tags: REL_5_4_1, REL_5_4_0
Diff to: previous 2.87: preferred, colored
Changes since revision 2.87: +3 -3 lines
	* Prevent Interchange from tripping the DATE_SPAMWARE_Y2K (Date
	  header uses unusual Y2K formatting) SpamAssassin rule with every
	  email it sends.

Revision 2.88: download - view: text, markup, annotated - select for diffs
Thu Dec 22 02:03:40 2005 UTC (2 years, 10 months ago) by kwalsh
Branches: MAIN
Diff to: previous 2.87: preferred, colored
Changes since revision 2.87: +3 -3 lines
	* Prevent Interchange from tripping the DATE_SPAMWARE_Y2K (Date
	  header uses unusual Y2K formatting) SpamAssassin rule with every
	  email it sends.

Revision 2.87: download - view: text, markup, annotated - select for diffs
Tue Nov 8 18:14:45 2005 UTC (3 years ago) by jon
Branches: MAIN
CVS tags: STABLE_5_4-root, REL_5_3_3, REL_5_3_2
Branch point for: STABLE_5_4-branch
Diff to: previous 2.86: preferred, colored
Changes since revision 2.86: +3 -3 lines
Big copyright and version number update to prepare for 5.3.2 release.

Revision 2.86: download - view: text, markup, annotated - select for diffs
Thu Nov 3 05:16:55 2005 UTC (3 years ago) by jon
Branches: MAIN
Diff to: previous 2.85: preferred, colored
Changes since revision 2.85: +23 -4 lines
Add new email interception feature. This allows a developer to set a
global or catalog variable MV_EMAIL_INTERCEPT, which causes all outgoing
email to be rerouted to that email address. This makes it much easier to
do development with functions that involve email because real end-user
email addresses can be used but the developer will receive the mail.
Headers in the form X-Intercepted-To: etc. are added to show what the
original destination of the mail was, and the interception is also noted
in the catalog error log.

Revision 2.85: download - view: text, markup, annotated - select for diffs
Sun May 22 12:53:36 2005 UTC (3 years, 6 months ago) by mheins
Branches: MAIN
CVS tags: DEB_5_3_0_20051028_1, DEB_5_3_0_20051004_1
Diff to: previous 2.84: preferred, colored
Changes since revision 2.84: +16 -2 lines
* Add new support routines used in under-development content management
  and form routines.

Revision 2.84: download - view: text, markup, annotated - select for diffs
Tue May 3 06:03:26 2005 UTC (3 years, 6 months ago) by mheins
Branches: MAIN
Diff to: previous 2.83: preferred, colored
Changes since revision 2.83: +42 -27 lines

* Implement new AccumulateCode and TagRepository directives. The rationale
  is:

    -- There is a huge base of Interchange code, much of which is not
       needed in even the standard catalog with full UI. This causes a
       larger memory profile than necessary.

    -- It is difficult to determine from the page code what code is
       needed, especially when a [tag] can call a $Tag can call
       a filter can call some sort of Action.

    -- A feature is needed to allow building catalogs with a more
       nearly optimal set of code than just "everything".

  If AccumulateCode is no, operation is exactly as before. There have
  been some code initialization changes and routine calling changes,
  but the data structures are identical and no difference in operation
  should be seen.

  If you set AccumulateCode to "Yes" and specify a TagRepository that
  contains all known UserTag, ActionMap, Filter, Widget, etc. etc.
  code, Interchange starts accumulating and compiling these as
  needed.

  The code is sent to the master process for compilation and
  incorporation, so that the next iteration of a page after HouseKeeping
  seconds will find the code already compiled and ready to go.

  It also copies the code file to the "code" (actually $Global::TagDir)
  directory in the "Accumulated" subdirectory tree. When you restart
  Interchange, these tags/filters/widgets/checks are read normally
  and need not be recompiled on the fly.

  Over time, as you access pages and routines, a full set of tags
  will be developed and you can turn AccumulateCode to "No".

* There can be failures due to calling a $Tag from within embedded
  Perl for the first time, particularly when it uses a MapRoutine or
  calls another $Tag within. This is due to Safe, and there is probably
  not much to be done about it. The good news is that the error should
  go away after HouseKeeping seconds when the tag gets compiled by the
  master.

  This could be avoided in the case of an AllowGlobal catalog, and it
  might be possible to make a directive that turns on AllowGlobal only
  when in AccumulateCode mode.

  The area, tmp, tmpn, and image tags are known to fail in this
  way in the standard catalog. Tags that are frequently called
  in this fashion should probably be placed in a "code/Vital"
  directory and not be accumulated.

* This is only recommended for development -- it might
  be possible to remove a tag/filter/etc. from the master
  and recompile these on the fly, but I haven't looked at that
  yet.

  Another nice feature is that you can easily add a tag simply
  by adding its code to the TagRepository and having it
  compiled.

* WARNING: Nice features are often dangerous! Don't run this in
  production -- you have been warned!

* WARNING: OrderCheck is not yet implemented, and a full audit has
  not been done on all compiled code directives.

* WARNING: Not fully tested in Prefork mode, and really not intended for
  that mode.

* WARNING: Including multiple tags in a file may have unpredictable
  behavior. You should try to keep related Alias and tag things in
  the same file.

* This feature only applies to Global code -- Catalog-based code
  shows no change.

* Passes the regression tests 100% when called with an empty "code"
  directory, compiling every tested tag and executing without error.

Revision 2.83: download - view: text, markup, annotated - select for diffs
Sat Apr 30 15:09:58 2005 UTC (3 years, 6 months ago) by mheins
Branches: MAIN
Diff to: previous 2.82: preferred, colored
Changes since revision 2.82: +3 -2 lines
* We had been running without warnings so long, we had gotten a bit sloppy
  in our code in some places.

  Because we do lots of uninitialized hash member stuff with arrays
  of fields and $opt, it is basically unreasonable for us to run with
  the "use of uninitialized variable" warnings. Because we do a fair
  amount of numerical comparisons on empty string values, it seemed
  unreasonable to run with "string value in numeric gt" enabled.

  Also, because Safe, HTML::Entities, and some other modules have
  these checks enabled, page code is bound to have warnings issued
  no matter what you do.

  It seems better to run with some warnings enabled so that we can
  catch bad code practice.

  So I have made the code run without warnings prior to and after
  interpolate_html(), and turned off warnings by default in the
  page code.

  If it is desirable to turn on warnings for pages, you can use
  [pragma perl_warnings_in_page] and see warnings for that page
  (or by default if you put in catalog.cfg).

* In general these changes are:

	 no warnings qw(uninitialized numeric);

  in most pages.

* Add $::Pragma->{perl_warnings_in_page}.

* Remove defined checks when simple set tests will do.

* Streamline some code.

Revision 2.82: download - view: text, markup, annotated - select for diffs
Thu Apr 21 11:24:05 2005 UTC (3 years, 7 months ago) by mheins
Branches: MAIN
Diff to: previous 2.81: preferred, colored
Changes since revision 2.81: +3 -2 lines

* Allow finer-grained control of way strings are serialized by IC.

Revision 2.81: download - view: text, markup, annotated - select for diffs
Thu Apr 14 15:13:14 2005 UTC (3 years, 7 months ago) by mheins
Branches: MAIN
Diff to: previous 2.80: preferred, colored
Changes since revision 2.80: +4 -3 lines
* Add Help capability to options generation. Uses Help member in
  CodeDef sections, and is automatically generated by codedef_options.

* For use in widgets without that, you need to generate the options
  as a reference and use that. (I will think about a mechanism
  to allow that in metadata.)

  Illustration with previously generated options:

	   [calc]
		  %opts = (
			['foo', 'Foo', 'This is the Foo selection help'],
			['bar', 'Bar', 'This is the Bar selection help'],
		  );
		  return;
	   [/calc]

		[display
			type=radio
			name=foobar
			options=`\%opts`
		] <br>

   Or inline:

		[display
			type=select
			name=foobar
			options=`[
				['foo', 'Foo', 'This is the other Foo selection help'],
				['bar', 'Bar', 'This is the other Bar selection help'],
			]`
		]

Revision 2.80: download - view: text, markup, annotated - select for diffs
Wed Apr 13 16:13:27 2005 UTC (3 years, 7 months ago) by mheins
Branches: MAIN
Diff to: previous 2.79: preferred, colored
Changes since revision 2.79: +98 -2 lines
* Add Stefan's suggested Visibility modification for CodeDef options.
  By default the visibility is public.

  It wants something like:

  		codedef:JavaScriptCheck

  Will return all public Descriptions.

  		codedef:JavaScriptCheck:private         -- return public and private.
  		codedef:JavaScriptCheck:private,admin   -- return public,private,admin

  If Visibility is "with Foo::Bar", it checks to see if $Foo::Bar::VERSION
  is true and returns the option if it is.

* Create routine to automatically select Routine for certain type of
  CodeDef. Currently there are many separate methods of doing that.
  This one prefers local over global, and is called with:

  	   codedef_routine($type, $name);

  For instance, codedef_routine('OrderCheck', 'multistate') will
  return $Vend::Cfg->{CodeDef}{OrderCheck}{multistate} if it exists,
  otherwise returns $Global::CodeDef->{OrderCheck}{multistate}.

* Modify Form.pm to use this for JavaScriptCheck. More will be
  added.

* Modify filters to add private Visibility for non-mainstream filters.

* Modify meta editor to use this.

Revision 2.79: download - view: text, markup, annotated - select for diffs
Mon Jan 31 21:40:35 2005 UTC (3 years, 9 months ago) by jonc
Branches: MAIN
Diff to: previous 2.78: preferred, colored
Changes since revision 2.78: +4 -4 lines
Fix / simplify regexes.

Revision 2.78: download - view: text, markup, annotated - select for diffs
Sun Jan 30 14:43:29 2005 UTC (3 years, 9 months ago) by jonc
Branches: MAIN
Diff to: previous 2.77: preferred, colored
Changes since revision 2.77: +3 -3 lines
Make date header RFC compliant.

Revision 2.77: download - view: text, markup, annotated - select for diffs
Sat Jan 29 01:08:49 2005 UTC (3 years, 9 months ago) by jonc
Branches: MAIN
Diff to: previous 2.76: preferred, colored
Changes since revision 2.76: +7 -5 lines
Improvements to Net::SMTP email method:

	* Net:SMTP debug messages output to global debug file when in
	  Interchange debug mode.
	* Stop double hello if MV_HELO is specified.
	* Fall back on SERVER_NAME if no MV_HELO is specified - much nicer
	  than the Net::SMTP default of 'localhost.localdomain'.
	* Add in From address to mail header.
	* Add timestamp to mail header.

Revision 2.76: download - view: text, markup, annotated - select for diffs
Fri Jan 7 21:26:07 2005 UTC (3 years, 10 months ago) by mheins
Branches: MAIN
Diff to: previous 2.75: preferred, colored
Changes since revision 2.75: +9 -2 lines
* Add ability to route certain error messages with either a $opt->{tag}
  option call or by the string that the errmsg() routine is called
  with.

  Adds ErrorDestination directive. Example:

  ErrorDestination  "Attempt to order missing product code: %s" logs/missing_product.log

Revision 2.75: download - view: text, markup, annotated - select for diffs
Thu Jul 15 17:29:23 2004 UTC (4 years, 4 months ago) by mheins
Branches: MAIN
Diff to: previous 2.74: preferred, colored
Changes since revision 2.74: +27 -13 lines
* Add ability to specify a different target file with logError, by
  prepending an option hash:

  	   logError({ file => 'other.log' }, "msg %s", $var);

* Make logOnce slightly more efficent (and more readable).

Revision 2.74: download - view: text, markup, annotated - select for diffs
Mon Jun 28 21:37:50 2004 UTC (4 years, 4 months ago) by mheins
Branches: MAIN
Diff to: previous 2.73: preferred, colored
Changes since revision 2.73: +11 -25 lines
Back out unintentional commit

Revision 2.73: download - view: text, markup, annotated - select for diffs
Mon Jun 28 21:25:27 2004 UTC (4 years, 4 months ago) by mheins
Branches: MAIN
Diff to: previous 2.72: preferred, colored
Changes since revision 2.72: +27 -13 lines
* FETCH when there was a conflicting session was returning wrong value.

Revision 2.72: download - view: text, markup, annotated - select for diffs
Fri May 28 22:38:03 2004 UTC (4 years, 5 months ago) by jon
Branches: MAIN
Diff to: previous 2.71: preferred, colored
Changes since revision 2.71: +6 -10 lines
Remove redundant AlwaysSecure check.

Move match_security check to be grouped with another security check
just for more logical grouping.

Revision 2.71: download - view: text, markup, annotated - select for diffs
Sun Mar 7 03:14:41 2004 UTC (4 years, 8 months ago) by mheins
Branches: MAIN
CVS tags: STABLE_5_2-root, STABLE_5_2-branch, REL_5_2_1, REL_5_2_0, REL_5_1_1, REL_5_1_0, DEB_5_2_1_1
Diff to: previous 2.70: preferred, colored
Changes since revision 2.70: +3 -3 lines

* Add PostURL, SecurePostURL, and ProcessPage directives. This allows
  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
	</LocationMatch>

  In interchange.cfg:

  	AcceptRedirect Yes

  In catalog.cfg:

  	VendURL        http://www.foo.com/
  	SecureURL      https://www.foo.com/
  	PostURL        http://www.foo.com/cgi-bin/foundation
  	SecurePostURL  https://www.foo.com/cgi-bin/foundation

	ImageDir
	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:

	<head>
	[calc]
		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">};
	[/calc]
	</head>

  will handle most anything.

* Improve handling of

	 [page href="http://www.foo.com/bar.html"
	 	   form="
		   		buz=baz
		   "]

   It will now deliver the link you would expect:

   		http://www.foo.com/bar.html?buz=baz

Revision 2.70: download - view: text, markup, annotated - select for diffs
Sat Mar 6 22:11:53 2004 UTC (4 years, 8 months ago) by mheins
Branches: MAIN
Diff to: previous 2.69: preferred, colored
Changes since revision 2.69: +2 -6 lines

* Add Status: and Content-Type: headers if we are the recipient of
  an internal redirect.

* Remove references and tests on $Vend::InternalHTTP and
  $Vend::OnlyInternalHTTP, which are no longer wanted with the
  removal of the internal HTTP server.

Revision 2.69: download - view: text, markup, annotated - select for diffs
Sun Feb 29 20:18:39 2004 UTC (4 years, 8 months ago) by mheins
Branches: MAIN
Diff to: previous 2.68: preferred, colored
Changes since revision 2.68: +3 -3 lines
* Don't add .html if the page reference is for a directory, avoids
  http://foo.com/cgi-bin/bar/directory/.html link.

Revision 2.68: download - view: text, markup, annotated - select for diffs
Wed Feb 11 14:37:02 2004 UTC (4 years, 9 months ago) by jon
Branches: MAIN
Diff to: previous 2.67: preferred, colored
Changes since revision 2.67: +5 -3 lines
Allow setting scratch mv_no_session which prevents mv_session_id and mv_pc
from ever showing up in generated URLs, even when no cookies are present.

Internally use vendUrl-native scratch -> opt system for no_count instead of
a special case. No functionality change.

Revision 2.67: download - view: text, markup, annotated - select for diffs
Wed Feb 4 14:54:09 2004 UTC (4 years, 9 months ago) by racke
Branches: MAIN
Diff to: previous 2.66: preferred, colored
Changes since revision 2.66: +5 -3 lines
use DefaultLocale for [LC] if [scratch mv_locale] is empty

Revision 2.66: download - view: text, markup, annotated - select for diffs
Tue Dec 16 14:07:56 2003 UTC (4 years, 11 months ago) by jon
Branches: MAIN
Diff to: previous 2.65: preferred, colored
Changes since revision 2.65: +4 -3 lines
Move $opt empty hashref default up before first use of %$opt.

Revision 2.64.2.1: download - view: text, markup, annotated - select for diffs
Mon Dec 15 22:55:00 2003 UTC (4 years, 11 months ago) by mheins
Branches: STABLE_5_0-branch
CVS tags: REL_5_0_2, REL_5_0_1, DEB_5_0_0_2
Diff to: previous 2.64: preferred, colored; next MAIN 2.65: preferred, colored
Changes since revision 2.64: +8 -2 lines
* Backport possible file security problem with code/SQL injection.

Revision 2.1.2.14: download - view: text, markup, annotated - select for diffs
Mon Dec 15 22:25:30 2003 UTC (4 years, 11 months ago) by mheins
Branches: STABLE_4_8-branch
CVS tags: REL_4_8_9, REL_4_8_8
Diff to: previous 2.1.2.13: preferred, colored; branchpoint 2.1: preferred, colored; next MAIN 2.2: preferred, colored
Changes since revision 2.1.2.13: +8 -2 lines
* Fix possible SQL/code injection vector

Revision 2.65: download - view: text, markup, annotated - select for diffs
Mon Dec 15 22:25:07 2003 UTC (4 years, 11 months ago) by mheins
Branches: MAIN
Diff to: previous 2.64: preferred, colored
Changes since revision 2.64: +8 -2 lines
* Fix possible code/SQL injection vector.

Revision 2.64: download - view: text, markup, annotated - select for diffs
Mon Aug 4 05:01:37 2003 UTC (5 years, 3 months ago) by mheins
Branches: MAIN
CVS tags: STABLE_5_0-root, REL_5_0_0_RC2, REL_5_0_0_RC1, REL_5_0_0, REL_4_9_9, DEB_4_9_8_20031014_1, DEB_4_9_8_20031010_1, DEB_4_9_8_20030911_1
Branch point for: STABLE_5_0-branch
Diff to: previous 2.63: preferred, colored
Changes since revision 2.63: +11 -2 lines
* Add cheesy auto_format page/URL detection facility to try and
  tolerate user-built menus a bit better. In particular, this will
  recognize a non http: anchored absolute URL and will tolerate
  anchors in the page name.

  Called with auto-format=1 as a param.

Revision 2.63: download - view: text, markup, annotated - select for diffs
Sat Jul 26 22:01:12 2003 UTC (5 years, 3 months ago) by mheins
Branches: MAIN
Diff to: previous 2.62: preferred, colored
Changes since revision 2.62: +4 -2 lines
* Allow return of page from readin (or readfile in locale mode) without
  the locale language substitutions done. This allows proper edits of
  pages.

Revision 2.62: download - view: text, markup, annotated - select for diffs
Sat Jul 12 04:47:10 2003 UTC (5 years, 4 months ago) by mheins
Branches: MAIN
Diff to: previous 2.61: preferred, colored
Changes since revision 2.61: +7 -5 lines
* Set up error reporting to be able to catch database errors
  and display in session, catalog error.log, or global error.log

    1. Logging levels are on a per-table basis, with
       defaults that can be set with DatabaseDefault:

        DatabaseDefault  LOG_ERROR_CATALOG  1
        DatabaseDefault  LOG_ERROR_SESSION  1
        DatabaseDefault  LOG_ERROR_GLOBAL   0
        DatabaseDefault  DIE_ERROR          0

    2. Log errors to the catalog error.log by default.

        Database  inventory LOG_ERROR_CATALOG  0|1*

    3. Log errors to the session always if an admin, and
       controlled by configuration if not.

        Database  inventory LOG_ERROR_SESSION  0|1*

       This has the effect of giving a big red error message when such
       an event as failing to create a record occured. In most cases,
       you would be able to use the <-Back button and fix the error
       and resubmit.

       The error tag is "table foo", where foo is the table.

    4. Die at the page level (500 error) only if that is explicit
       request in config for that table:

        Database  inventory  DIE_ERROR  0*|1

    5. Log errors globally only on explicit request:

        Database  inventory LOG_ERROR_GLOBAL   0*|1

    6. LENGTH_EXCEPTION errors go into warnings if they are handled
       with truncate.

      * default

* Fix numeric sorting in SQL statements if a field is NUMERIC.

* Allow limits from SQL statement to flow through even if ml="" is set
  and let direct_sql.html admin page honor them.

* Fix table names so that we don't have the funky .txt problems
  where a SQL query would not work on a DBM database unless
  the file name base matched the table name.

* Attempt to regularize error messages so that they can be
  more easily translated. Now should have about 50% less
  variations.

Revision 2.61: download - view: text, markup, annotated - select for diffs
Mon Jul 7 22:24:04 2003 UTC (5 years, 4 months ago) by ramoore
Branches: MAIN
Diff to: previous 2.60: preferred, colored
Changes since revision 2.60: +9 -9 lines
Handling the anchor option in the area and page tags was being handled
in 2 places vendUrl and in tag_area.  Removed handling code from tag_area
and fixed code in vendUrl.

Revision 2.60: download - view: text, markup, annotated - select for diffs
Wed Jun 25 16:38:17 2003 UTC (5 years, 4 months ago) by mheins
Branches: MAIN
CVS tags: DEB_4_9_8_20030706_1
Diff to: previous 2.59: preferred, colored
Changes since revision 2.59: +3 -7 lines
Various minor cleanup, prevents warnings on startup.

  * Remove extra meta_record routine and change references to
    UI::Primitive::meta_record to Vend::Table::Editor::meta_record.

  * Delete {Source} value from $Vend::Cfg to save memory.

  * Remove unused stub Vend::Data::dbref.

  * Change Vend::Util::dbref to be a simple pointer to
    Vend::Data::database_exists_ref. Remove extra "my $loc".

  * Remove improperly exported parse_locale routine from Vend::Util.
    (Another parse_locale in Vend::Config, and all calls in the code
     contain package reference.)

  * Update dont_warn() routine to only include need variables/handles.

  * Remove "prime" of sort routine in Vend::Search no longer necessary
    now that Perl 5.005 is not supported.

Revision 2.59: download - view: text, markup, annotated - select for diffs
Wed Jun 18 17:34:44 2003 UTC (5 years, 5 months ago) by jon
Branches: MAIN
CVS tags: REL_4_9_8, DEB_4_9_8_2
Diff to: previous 2.58: preferred, colored
Changes since revision 2.58: +4 -3 lines
The great copyright, email address, URL, and version update.

Revision 2.58: download - view: text, markup, annotated - select for diffs
Mon May 19 22:18:38 2003 UTC (5 years, 6 months ago) by racke
Branches: MAIN
Diff to: previous 2.57: preferred, colored
Changes since revision 2.57: +2 -14 lines
removed code for static page generation

Revision 2.57: download - view: text, markup, annotated - select for diffs
Mon May 5 21:28:23 2003 UTC (5 years, 6 months ago) by racke
Branches: MAIN
Diff to: previous 2.56: preferred, colored
Changes since revision 2.56: +4 -5 lines
don't use NoCache directive any longer

Revision 2.56: download - view: text, markup, annotated - select for diffs
Tue Apr 1 04:12:32 2003 UTC (5 years, 7 months ago) by mheins
Branches: MAIN
Diff to: previous 2.55: preferred, colored
Changes since revision 2.55: +19 -494 lines

* Add new Vend::File module with minimal functions.

* Relocate following routines (and their subsidiaries) from Vend::Util:

	canonpath
	catdir
	catfile
	exists_filename
	file_modification_time
	file_name_is_absolute
	get_filename
	lockfile
	path
	readfile
	readfile_db
	set_lock_type
	unlockfile
	writefile

  Added stubs so that package-based calls to those routines will not
  break software.

* Added CatalogUser directive that allows setting in interchange.cfg
  of allowed username that is used for access to absolute-path names.

  	CatalogUser  foundation  joe
  	CatalogUser  reports     jane

  This sets the user for allowed_file() for further read/write checks
  based on username.

* Created allowed_file() routine and replaced all current inline checks
  for NoAbsolute with call to that routine. It behaves as:

  NoAbsolute is No: all files are accessible, always

  Allowed for read/write:
  	Path name is relative with no ..
  	Path name is absolute but in the catalog directory
  	Path name is absolute but in a TemplateDir

  Allowed for read:
	CatalogUser set to a valid username and file is readable by that user
	CatalogUser set to a valid username and file is readable by a group
	 containing that user

  Allowed for write:
	CatalogUser set to a valid username and file is writable by that user
	CatalogUser set to a valid username and file is writable by a group
	 containing that user

* Changed display_special_page so that special page entries with ../
  will not break things.

* TODO:

	-- Code read for open() calls.
	-- Code read for chmod() calls.
	-- Code read for unlink() calls.

* Passes all regression tests; takes an order on foundation; runs UI including
  file navigator.

Revision 2.55: download - view: text, markup, annotated - select for diffs
Thu Mar 27 16:52:59 2003 UTC (5 years, 7 months ago) by mheins
Branches: MAIN
Diff to: previous 2.54: preferred, colored
Changes since revision 2.54: +52 -4 lines

* Add absolute_or_relative() routine to check whether a file name
  is either absolute or contains a ../ component.

  This is a stopgap routine only -- it is quite likely that we should
  do something a bit more useful for checking file security.

  For instance, there are many cases where we check for NoAbsolute and
  then do varied check routines. I guess it would make sense to have
  that just be one call to a subroutine.

  The reason it was done that way originally was to prevent unnecessary
  subroutine call overhead, as the original default for NoAbsolute was
  unset, but now that the default is "Yes" it would be better to do it.
  Improvements in Perl and processor speed have made subroutine overhead
  a smaller problem in non-looping situations like this.

Revision 2.54: download - view: text, markup, annotated - select for diffs
Thu Mar 20 23:31:24 2003 UTC (5 years, 8 months ago) by racke
Branches: MAIN
Diff to: previous 2.53: preferred, colored
Changes since revision 2.53: +3 -6 lines
removed usage of $Vend::Cfg->{ExtraSecure} which contradicts documentation

Revision 2.53: download - view: text, markup, annotated - select for diffs
Thu Mar 6 17:12:41 2003 UTC (5 years, 8 months ago) by racke
Branches: MAIN
Diff to: previous 2.52: preferred, colored
Changes since revision 2.52: +3 -3 lines
fixed auto_create_dir feature

Revision 2.52: download - view: text, markup, annotated - select for diffs
Sat Mar 1 17:51:37 2003 UTC (5 years, 8 months ago) by mheins
Branches: MAIN
Diff to: previous 2.51: preferred, colored
Changes since revision 2.51: +3 -3 lines
* Fix small technical error pointed out by Jon.

Revision 2.51: download - view: text, markup, annotated - select for diffs
Sat Mar 1 15:39:16 2003 UTC (5 years, 8 months ago) by mheins
Branches: MAIN
Diff to: previous 2.50: preferred, colored
Changes since revision 2.50: +4 -4 lines
* Fix round_to_frac_digits() so it handles numbers that don't have a
  pre-existing decimal point.

Revision 2.50: download - view: text, markup, annotated - select for diffs
Thu Feb 13 10:23:08 2003 UTC (5 years, 9 months ago) by racke
Branches: MAIN
Diff to: previous 2.49: preferred, colored
Changes since revision 2.49: +2 -8 lines
removed bogus require on ancient Perl version

Revision 2.49: download - view: text, markup, annotated - select for diffs
Wed Feb 12 15:03:06 2003 UTC (5 years, 9 months ago) by racke
Branches: MAIN
Diff to: previous 2.48: preferred, colored
Changes since revision 2.48: +3 -3 lines
let unhexify mangle only representations of hex chars

problem by reported Ton, edition of locale records with %s
in keys didn't work

Revision 2.48: download - view: text, markup, annotated - select for diffs
Fri Feb 7 16:41:57 2003 UTC (5 years, 9 months ago) by mheins
Branches: MAIN
Diff to: previous 2.47: preferred, colored
Changes since revision 2.47: +3 -3 lines
* Minor: avoid warning.

Revision 1.10.4.6: download - view: text, markup, annotated - select for diffs
Sat Jan 25 22:21:28 2003 UTC (5 years, 9 months ago) by racke
Branches: LINUXIA
Diff to: previous 1.10.4.5: preferred, colored; branchpoint 1.10: preferred, colored; next MAIN 1.11: preferred, colored
Changes since revision 1.10.4.5: +895 -209 lines
updated LINUXIA branch to 4.9 sources in order to use it as testbed again

Revision 2.1.2.13: download - view: text, markup, annotated - select for diffs
Fri Jan 24 06:51:52 2003 UTC (5 years, 9 months ago) by jon
Branches: STABLE_4_8-branch
CVS tags: REL_4_8_7
Diff to: previous 2.1.2.12: preferred, colored; branchpoint 2.1: preferred, colored
Changes since revision 2.1.2.12: +3 -3 lines
Update copyright dates.

Revision 2.1.2.12: download - view: text, markup, annotated - select for diffs
Fri Jan 24 04:59:36 2003 UTC (5 years, 9 months ago) by jon
Branches: STABLE_4_8-branch
Diff to: previous 2.1.2.11: preferred, colored; branchpoint 2.1: preferred, colored
Changes since revision 2.1.2.11: +6 -5 lines
Merge from trunk:

* Fix bug where bad [nitems compare=...] could cause server error. Now
  just silently causes bad compare -- perhaps I should add logging?

Revision 2.47: download - view: text, markup, annotated - select for diffs
Thu Jan 23 20:14:14 2003 UTC (5 years, 9 months ago) by mheins
Branches: MAIN
Diff to: previous 2.46: preferred, colored
Changes since revision 2.46: +14 -5 lines
* Automatically convert via PriceDivide if locale=xx_XX sent to
  [currency ...], [salestax ...], [total-cost], etc.

Revision 2.46: download - view: text, markup, annotated - select for diffs
Tue Jan 21 16:09:09 2003 UTC (5 years, 10 months ago) by mheins
Branches: MAIN
Diff to: previous 2.45: preferred, colored
Changes since revision 2.45: +34 -10 lines

* The [setlocale currency=xx_XX] tag was destructive. This fixes it.

Revision 2.45: download - view: text, markup, annotated - select for diffs
Thu Jan 2 23:27:07 2003 UTC (5 years, 10 months ago) by mheins
Branches: MAIN
CVS tags: REL_4_9_6
Diff to: previous 2.44: preferred, colored
Changes since revision 2.44: +10 -10 lines
* Fix link generation options so that $opt->{no_session_id} and
  $Scratch->{mv_no_session_id} work as they should.

* Make sure unwanted form params don't show up when using form=auto.

Revision 2.44: download - view: text, markup, annotated - select for diffs
Wed Dec 18 19:54:52 2002 UTC (5 years, 11 months ago) by mheins
Branches: MAIN
Diff to: previous 2.43: preferred, colored
Changes since revision 2.43: +6 -4 lines
* Make no_session_id and no_count options authoritative for the
  page and area tags.

* Export yet more routines.

Revision 2.43: download - view: text, markup, annotated - select for diffs
Mon Dec 2 22:12:57 2002 UTC (5 years, 11 months ago) by mheins
Branches: MAIN
CVS tags: REL_4_9_5
Diff to: previous 2.42: preferred, colored
Changes since revision 2.42: +10 -4 lines
 * Allow delete of empty hash items in serial field setting.

Revision 2.42: download - view: text, markup, annotated - select for diffs
Thu Nov 28 17:12:22 2002 UTC (5 years, 11 months ago) by kwalsh
Branches: MAIN
CVS tags: REL_4_9_4
Diff to: previous 2.41: preferred, colored
Changes since revision 2.41: +5 -8 lines
	* Removed the previous Vend::Util::readin() patch and now perform
	  specific checks before the three calls that were cause for
	  concern.

Revision 2.41: download - view: text, markup, annotated - select for diffs
Thu Nov 28 16:24:01 2002 UTC (5 years, 11 months ago) by kwalsh
Branches: MAIN
Diff to: previous 2.40: preferred, colored
Changes since revision 2.40: +8 -3 lines
	* Various patches to plug NoAbsolute-related security bugs when
	  reading files.

	* If readfile()'s second parameter can be safely removed then
	  this can be done in a later commit;  I've left it alone for now.

Revision 2.1.2.11: download - view: text, markup, annotated - select for diffs
Tue Nov 26 03:21:10 2002 UTC (5 years, 11 months ago) by jon
Branches: STABLE_4_8-branch
Diff to: previous 2.1.2.10: preferred, colored; branchpoint 2.1: preferred, colored
Changes since revision 2.1.2.10: +4 -3 lines
Sweeping update of Akopia/Red Hat references, to prepare for 4.8 release
with current Interchange URLs and contact information.

Revision 2.40: download - view: text, markup, annotated - select for diffs
Sat Nov 9 06:03:36 2002 UTC (6 years ago) by mheins
Branches: MAIN
Diff to: previous 2.39: preferred, colored
Changes since revision 2.39: +6 -5 lines
* Fix bug where bad [nitems compare=...] could cause server error. Now
  just silently causes bad compare -- perhaps I should add logging?

Revision 2.39: download - view: text, markup, annotated - select for diffs
Mon Nov 4 21:36:37 2002 UTC (6 years ago) by racke
Branches: MAIN
Diff to: previous 2.38: preferred, colored
Changes since revision 2.38: +3 -10 lines
use parse_locale function to avoid code duplication

Revision 2.38: download - view: text, markup, annotated - select for diffs
Sat Oct 5 23:57:10 2002 UTC (6 years, 1 month ago) by danb
Branches: MAIN
Diff to: previous 2.37: preferred, colored
Changes since revision 2.37: +4 -4 lines
 * Minor correction to *really* enable 'no_count' (per prior commit)
 * && -> and (for readability and consistency with code block)

Revision 2.37: download - view: text, markup, annotated - select for diffs
Sat Oct 5 05:26:29 2002 UTC (6 years, 1 month ago) by mheins
Branches: MAIN
Diff to: previous 2.36: preferred, colored
Changes since revision 2.36: +72 -14 lines
* Change URL generation to streamline and bring one generation routine
  for form_link, tag_page, tag_area.

  -- form_link() stuff now done in tag_area and Vend::Util::vendURL,
     aliased to tag_area

  -- tag_page() calls tag_area to get URL

  -- [order ..] also calls tag_area

  -- Add three options to page/area/order:

         no_session      eliminates mv_session_id and mv_pc always
         link_relative   links relative to current page
         match_security  generates http:// on http:// page and
                         https:// on https:// page

   -- Allow override of Scratch url format options

         option                Scratch
         ---------------       -----------------
         no_session_id         mv_no_session_id
         no_count              mv_no_count
         add_dot_html          mv_add_dot_html
         add_source            mv_add_source

* Make static page generation work again

   -- Change call to Vend::SearchObject to proper $::Instance->{SearchObject}
   -- check arguments for flypage (will probably need to remove flylist)
   -- unhexify() the scan path

* Change auto_wizard tag to use new [table-editor] tag, remove abortive
  [table-editor-tpl].

* Passes all regression tests, fully builds standard Foundation static

Revision 2.36: download - view: text, markup, annotated - select for diffs
Mon Sep 16 23:06:31 2002 UTC (6 years, 2 months ago) by mheins
Branches: MAIN
Diff to: previous 2.35: preferred, colored
Changes since revision 2.35: +8 -2 lines
* Move most all code out of bin/interchange. The only routines
  that remain are:

		dontwarn
		version
		usage
		catch_warnings
		parse_options
		main_loop

   Once the initial startup for Interchange is done, this code
   is completely out of the picture.

* Create new Vend::Dispatch module which contains the bulk of the
  code removed from bin/interchange.

* Move the important update_data() subroutine to Vend::Data.

* Move the session-related routines to Vend::Session.

* Move the order-related routines do_order() and update_quantity()
  to Vend::Order.

* Change many ::uneval() calls to plain uneval() or Vend::Util::uneval().

* Remove various unused tags and routines....

Revision 2.35: download - view: text, markup, annotated - select for diffs
Fri Sep 13 20:46:21 2002 UTC (6 years, 2 months ago) by mheins
Branches: MAIN
Diff to: previous 2.34: preferred, colored
Changes since revision 2.34: +10 -7 lines
* Revamp of content edit. I think it is starting to get there.....

* "Edit page", "Edit menu", even "edit component" links are inserted when
  you are logged in as admin.

* Complete cleanup of page/template/component parsing code, now perhaps
  someone besides me could understand it. 8-)

* File navigator only now used for pages, not for templates/components,
  retains context.

* Hooks are there for doing an entire edit session then pushing new content all
  at once. Theoreticially, you could create an entire new site, browse it
  and test it without the public seeing it, and then push one button to
  publish it all. I say theoretically because I haven't done it yet, but
  it should be there soon.

* Preview now holds true for browsing catalog.

* Now can create and edit pages that have no template wrapper.

* Closed all Bugzillas relating to it.
   -- New pages not creating properly
   -- Unable to edit in subdirectories
   -- Templates not written properly

* TODO:

	-- Allow alternate DSN for staging database tables.
	-- Document this puppy, finally.
	-- Change templates so that left-side/right-side components interchange,
	   and so that most class=content components can go vertical.
	-- Vet the new [menu][/menu] component so that left-hand side
	   menu can be directory/location sensitive.
	-- Build in the "use the index.html page in the current directory
	   as the template" functionality.

Revision 2.34: download - view: text, markup, annotated - select for diffs
Tue Aug 27 16:52:07 2002 UTC (6 years, 2 months ago) by mheins
Branches: MAIN
Diff to: previous 2.33: preferred, colored
Changes since revision 2.33: +8 -2 lines
* Add mv_source parameter which sets an affiliate program source
  and can be carried around in URLs when $Scratch->{mv_add_source}
  is set. This solves the problem of AOL caching the page with
  the source embedded, then forwarding the next request sans source.

  From a suggestion by Dan <ic@concolor.org>.

Revision 2.33: download - view: text, markup, annotated - select for diffs
Thu Aug 15 16:30:34 2002 UTC (6 years, 3 months ago) by mheins
Branches: MAIN
Diff to: previous 2.32: preferred, colored
Changes since revision 2.32: +3 -2 lines
* A number of minor changes related to continuing work on content
  editing features.

  -- Change Vend::Interpolate::form_link() to escape the HREF properly.
     Thanks to Kevin's good eye.

  -- Back out misguided patch to [history-scan] battling above.

  -- Change Vend::Util::escape_chars_url() to do nothing if
     no changes are needed. This may be stupid, but then again
	 almost everything I have ever done WRT escaping seems stupid
	 in retrospect. 8-)

  -- Add function to [process] where you can specify a download
     name, so that a piece of content delivered by download will
	 have the right name/extension.

  -- Fix call to /icons/ image in menu_editor, add proper image.

  -- Add [jsqn] tag, which quotes for JavaScript without variable
     interpolation.

* Add "Edit in Browser" function for page editor, allowing you to
  download the page, edit in Mozilla et al, and then upload it
  back up.

Revision 2.32: download - view: text, markup, annotated - select for diffs
Tue Aug 6 22:08:04 2002 UTC (6 years, 3 months ago) by mheins
Branches: MAIN
CVS tags: REL_4_9_2
Diff to: previous 2.31: preferred, colored
Changes since revision 2.31: +12 -3 lines
* Remove dependencies on '&' as the UrlSepChar.

* Enhance form_link to accept pre-formatted strings.

Revision 2.31: download - view: text, markup, annotated - select for diffs
Mon Jul 22 14:24:55 2002 UTC (6 years, 4 months ago) by jon
Branches: MAIN
CVS tags: REL_4_9_1
Diff to: previous 2.30: preferred, colored
Changes since revision 2.30: +3 -3 lines
Revert a change, at least for 4.9.1 release.

Revision 2.30: download - view: text, markup, annotated - select for diffs
Sat Jul 20 19:35:11 2002 UTC (6 years, 4 months ago) by mheins
Branches: MAIN
Diff to: previous 2.29: