MIVA Merchant 5 Module API Feature data_store

Required function: Module_Install_Store [back]

Parameters:

  • module var

Return Type:bool

<MvFUNCTION NAME="Module_Install_Store" PARAMETERS="module var" STANDARDOUTPUTLEVEL="">
    <MvFUNCTIONRETURN VALUE="1">
</MvFUNCTION>

What MIVA Says

Admin runs this function when the store administrator assigns the module to the store.

The function provides a place to create any databases and directories that may be required by the module for each store location.

Default Return: 1

Required function: Module_Upgrade_Store [back]

Parameters:

  • module var
  • version

Return Type:bool

<MvFUNCTION NAME="Module_Upgrade_Store" PARAMETERS="module var,version" STANDARDOUTPUTLEVEL="">
    <MvFUNCTIONRETURN VALUE="1">
</MvFUNCTION>

What MIVA Says

Admin calls this function when a store administrator clicks Update on the Edit Module configuration page.

This function provides a place for code altering, during a module upgrade, the databases and directories that apply to a specific store.

Default Return: 1

Required function: Module_Uninstall_Store [back]

Parameters:

  • module var

Return Type:bool

<MvFUNCTION NAME="Module_Uninstall_Store" PARAMETERS="module var" STANDARDOUTPUTLEVEL="">
    <MvFUNCTIONRETURN VALUE="1">
</MvFUNCTION>

What MIVA Says

Admin calls this function when the store administrator removes a module from the store.

It should perform the opposite of the Module_Install_Store function. Every action that takes place in the install function should be reversed in this module. All databases and directories that have been established should be deleted. The store should be taken out of the "installed stores" database. Any other functions that were required to establish the store must be reversed and cleaned up.

Default Return: 1

Example modules using the feature data_store

  • 4TheBest IP Address Logger
    This module is a simple example logging tool that demonstrates installing and uninstalling a module in a store, creating tables, accessing table from the admin and the store using MvOPENVIEW and/or MvQUERY, and use of the left navigation for utilities.

Return Types [back]

Return Types are expressed in the document by the following codes:

  • string: A string return type is any string you wish though normally it is a string that has a specific intent such as the formatted version of a decimal number as you might use in a currency module.
  • cslist: This is a comma separated list values. Most commonly used to return a list of codes for fields.
  • cclist: This is a comma separated list of colon separated values. Most commonly used as a return from tab functions so that you might have a value like "NVALS:Normal Values,SPECVALS:Special Values,OVALS:Other Values" and the system would be treating each comma separated pair as a tab and using the value on the right of the colon as the label for the tab and the value on the left of the colon as the code for the tab.
  • bool: A boolean "true/false" return value, normally a "1" represents a true value and a "0" represents false. Because of the way the MIVA script language treats strings and numbers any string other than a space, and any number other than a 0 will be treated as a true return value whereas a false value can be expressed by a null value like "" or an expression that evaluates to null or zero like "{ 1 - 1 }" or the absence of the "VALUE" attribute entirely.
  • boolinv: An inverted boolean "true/false" return value. This is when the value returned is a boolean value just like the type "bool" but that the normal default return is a false rather than a true value and that you only return true if some special case is true. In the MIVA Merchant API Most functions that are boolean expect a return of true unless something has gone wrong or some special condition occurs, but in this case it is "normal" to return a false value and you only return a true value if something unusual happens. A specific example would be the TaxModule_Order_Invalid function which only returns a true value if one of the fields is invalid.
  • tristate: Acts like a boolean except that a negative value, usually -1 by convention, indicates an unusual but non error state. In most cases this will be used to cause the normal operations to not be completed without causing an error to be output in order to interrupt something that the system was about to do. This is used for example in system extension interrupts to stop a normal action like adding a product to the basket from taking place so the module can take on the role of adding the item to the basket itself, or preventing it from happening without causing the system to throw the normal errors.
  • acount: This is a numeric value that represents a count of the size of an array passed back by reference. A null or 0 return value acts the same as for a bool return type, meaning nothing happens, but a value of 1 indicates only one array index point exists whereas a return of 3 indicates 3 array index points returned. This is used for example in the shipping and payment method functions that have a method parameter passed in by reference and the return indicates the size of the method array being set in the l.method variable.