AutoModifier
Sets an attribute in a shopping cart entry to the field of the same name in the ProductsFile pertaining to this item.
This is useful when doing shipping calculations or other embedded Perl that is based on item attributes. To set whether an item is defined as "heavy" and requires truck shipment, you can do:
AutoModifier heavy
When an item is added to the shopping cart using MiniVend's routines, the heavy
attribute will be set to the value of the heavy
field in the products database. In the default demo that would be products
; any changes to ProductFiles
would affect that, of course.
* Syslog error logging (global only) is supported via the global SysLog directive.
Syslog command /usr/bin/logger
Syslog tag mv1
Syslog alert local3.warn
Syslog warn local3.info
Syslog info local3.info
This would cause global errors to be logged with the command:
/usr/bin/logger -t mv1 -p local3.alert
and cause system log entries something like:
Oct 26 17:30:11 bill mv1: Config 'co' at server startup
Oct 26 17:30:11 bill mv1: Config 'homefn' at server startup
Oct 26 17:30:11 bill mv1: Config 'simple' at server startup
Oct 26 17:30:11 bill mv1: Config 'test' at server startup
Oct 26 17:30:13 bill mv1: START server (2345) (INET and UNIX)
This facility is alpha and is subject to change. Of course you can
wrap your own wrapper around it to get it to behave how you want.
* Added Scratch variable mv_data_enable to gate the update_data function; prior to this it was possible to update a database willy-nilly.
* Many bug fixes, of course. Notably [and ...] and [or ..] were broken in some cases.
* "Message" directive allows you to display messages at startup, both global and catalog.
REMOVAL
Many things were removed as redundant, deprecated, or just plain crufty:
* All frame features removed, frames are managed by the user in HTML.
* Tags removed:
buttonbar Replace with Variable. random Replace with [ad random=1] or custom code rotate Replace with [ad ...] help No replacement body Replace with templates finish_order No replacement last_page No replacement item-link No replacement, just use [page [item-code]] loop-link No replacement, just use [page [loop-code]] sql-link No replacement, just use [page [sql-code]] accessories Replace with normal data functions
* Compatibility routines for many popular tags like [random], [rotate], etc. are provided in the compat/ directory. To use, include the files in minivend.cfg:
#include compat/*
* Directives removed:
ActionMap
AdminDatabase
AdminPage
AsciiBackend
BackendOrder
ButtonBars
CheckoutFrame
CheckoutPage
CollectData
DataDir
Delimiter
DescriptionTrim
FieldDelimiter
FrameFlyPage
FrameLinkDir
FrameOrderPage
FrameSearchPage
ItemLinkDir
ItemLinkValue
MsqlDB
MsqlProducts
Mv_AlinkColor
Mv_Background
Mv_BgColor
Mv_LinkColor
Mv_TextColor
Mv_VlinkColor
NewReport
NewTags
OldShipping
OrderFrame
PageCache
PriceDatabase
Random
ReceiptPage
RecordDelimiter
ReportIgnore
Rotate
SearchFrame
SearchOverMsg
SecureOrderMsg
SpecialFile
SubArgs
Tracking
* Minor operations removed:
- auto-substitution of mp= on [loop search=profile],
[search-region arg=profile]
- [tag scan]...
- [tag sql]...
Many of these are related to one of:
* Removal of frames logic
* Removed tags
* Obsolete methods
* Old routines for 2.0x compatibility
---------------------------- UPGRADING from MiniVend 3
Form Data updates:
* Added Scratch variable mv_data_enable to gate the update_data
function; prior to this it was possible to update a database
willy-nilly. Do:
[set update_database]
[if type=data term="userdb::trusted::[data session username]"]
[set mv_data_enable]1[/set]
[else]
[set mv_data_enable]0[/set]
[/else]
[/if]
[/set]
<INPUT TYPE=hidden NAME=mv_click VALUE=update_database>