Credits are a way for Tiki users to have different stored value types of credits. They can be points, tokens, hours, minutes, numbers of uses of something, etc. This feature comes with an API to add and use credits for each user.
Somehow, it implies having the ability to define and use multiple currencies within a single Tiki site, similarly to what can be achieved with Community Currencies linked to a CCLite server, which allows using those multiple currencies with other sites (intertrading), sites which can be powered by Tiki or other CMS/Softwares, such as Joomla, Drupal, Elgg, etc.
Credits have a few characteristics:
- Credits have expiry dates and validity periods.
- Admins can configure different credit types and you can have different credit types for different sites
- The admin panel for this feature is at tiki-admin_credits.php
- You also need to define which TUC types are allowed in the tiki site, through "Admin home > Payments > Tiki User Credits" (tiki-admin.php?page=payment):
- Credits are used in the order of the earliest expiration date. Credits with no expiration date are used last.
Some definitions (useful for the admin panel):
- Static Level Credits
- These are credits such as "storage" where the credit is not permanently used up when they are used. Instead, they can be restored. e.g. the user has used 500/2000 mb of storage.
- Scaling divisor
- This is used to reduce the length of the bar shown in Module credits for a certain credit type. For example, some credits may have units in the thousands when others are in tens. The former will end up having a very long bar compared to the other credit unless the divisor is set to a larger number.
- Expiration date
- If there is no expiration date, the credits last forever until they are used.
- A Plan
- A block of credits that have an expiration date can be considered a plan, especially if they are created with fixed intervals, e.g. monthly plans.
You add credits to users through tiki-admin_credits.php?userfilter=username (being username the name of the user; which you can type in the username search bo
An admin can also set that a user has already consumed some of that set of allocated credits:
And a report on the historical usage can be shown also:
The credits that a user has left can be seen at any time by means of the module Module credits:
You could make use of functions in lib/credits/creditlib:
function useCredits to use up credits and function addCredits to add credits for users. Also use getCredits to get a user's credit information, and getScaledCredits which extends getCredits with more human readable information.