classes/php5_classes/products.php

Properties

Description

Encoded file, used for license validation, database access, and other core-level functionality. Source code view of this file is not available.

Functions

geo_empty_errorhandle( \unknown   $errno, \unknown   $errstr, \unknown   $errfile, \unknown   $errline, \unknown   $errcontext, ) : n/a

Description

do nothing, this method is used to temporarily turn off error handling

Arguments

Name Type Description Default
$errno \unknown
$errstr \unknown
$errfile \unknown
$errline \unknown
$errcontext \unknown

Return value

Type Description
n/a n/a

Constants

  DISCOVERED = 1




  DEMO_MODE_TEXT = '[TRIAL INSTALL]'




  THEME_PRIMARY = $primary_tset




  THEME_SECONDARY = $secondary_tset




  DEVELOPER_MODE = $tpl->fetch('HTML/demo_box.tpl')




  CACHE_FILE_PREFIX = $developer_force_type




  IS_ROBOT = false




Classes

geoPC

Properties

 
 
System  
No 
Yes 

Description

Used for login credential validation, password hashing, etc. along with software licensing.
Works directly with {@link geoSession} and {@link DataAccess}, and requires (like most geo classes) that the software is initialized using app_top.common.php. Since this class is encoded, if you have any questions at all about any of the methods contained in here, send in a support ticket and we will answer if possible.

Methods

access_details, build_querystring, cleanHostName, clearLicenseKey, clear_cache_local_key, convert_hash_pass, errors, force_powered_by, generate_new_pass, getDownloadExpire, getInstance, getLatestVersion, getLicenseExpire, getLocalLicenseExpire, getOverdueInvoice, getPackageId, getSupportExpire, getVersion, get_hash_types, get_hashed_password, get_installation_info, is_addon_attached, is_auctions, is_basic, is_class_auctions, is_classifieds, is_ent, is_leased, is_main_demo, is_premier, is_print, is_trial, is_windows, maxSeats, path_translated, pr, register_hash_type, scrape_phpinfo, server_addr, show_site_off, urlGetContents, urlPostContents, verify_credentials,

access_details( ) : array

Description

Build an array of access details

Return value

Type Description
array

build_querystring( array   $array, ) : string

Description

Convert an array to querystring key/value pairs

Arguments

Name Type Description Default
$array array

Return value

Type Description
string

cleanHostName( string   $host, ) : string

Description

Gets host name, and cleans it up to be suitable for license checks. Mostly used internally, but has public access so can be used by outside for whatever reason.

Arguments

Name Type Description Default
$host string

Return value

Type Description
string

Tags

Name Description
since Versio 5.0.3

clearLicenseKey( bool   $onlyClearData = false, string   $addon = '', ) : n/a

Description

Used by admin panel to clear the license key, clears all the saved license key and saved license data so that a new license key can be entered.
If not called from admin, it will NOT clear the license key.

Arguments

Name Type Description Default
$onlyClearData bool

If true, will only clear the license data, not the license key. Since version 4.1.0.

false
$addon string ''

Return value

Type Description
n/a n/a

Tags

Name Description
since Version 4.0.7

clear_cache_local_key( boolean   $clear = false, string   $addon = '', ) : string

Description

Clear the local key file cache by passing in ?clear_local_key_cache=y

Arguments

Name Type Description Default
$clear boolean false
$addon string ''

Return value

Type Description
string on error

convert_hash_pass( String   $username, String   $password_plaintext, int   $type = 'core:sha1', ) : Boolean

Description

Changes the storage hash type for a users password in the database.

Arguments

Name Type Description Default
$username String
$password_plaintext String
$type int

Hash type to convert to.

'core:sha1'

Return value

Type Description
Boolean Returns true if it worked, false otherwise.

errors( string   $addon = '', ) : string|array

Description

gets license errors for display.

Arguments

Name Type Description Default
$addon string ''

Return value

Type Description
string|array

force_powered_by( ) : boolean

Description

Whether to force powered by or not.

Return value

Type Description
boolean

Tags

Name Description
deprecated 7.1

generate_new_pass( int   $pass_length, bool   $includeSpecial = false, ) : String

Description

Generates a random password. Note: Does NOT hash the password, or insert the password into the database.
Note: As of version 7.1.0, this generates random password with many more possible characters (a-zA-Z0-9). Before that it was limited characters.

Arguments

Name Type Description Default
$pass_length int

Password length (must be more than 0, if not it will default to 6)

$includeSpecial bool

If true, will include special characters in the possible characters used to generate the string. Param added in version 7.1.0

false

Return value

Type Description
String A string of length given by pass_length, that consists of numbers and letters and optionally special characters.

getDownloadExpire( string   $addon = '', ) : int|string

Description

Gets the expiration time for download access for the license.

Arguments

Name Type Description Default
$addon string ''

Return value

Type Description
int|string timestamp for when download access expires, or "never" if never expires

Tags

Name Description
since Version 7.0.0

getInstance( string|null   $type = null, ) : \geoPC

Description

Gets instance of the geoPC class

Arguments

Name Type Description Default
$type string|null

used internally.

null

Return value

Type Description
\geoPC

getLatestVersion( ) : string|bool

Description

Gets the latest version as reported by geodesicsolutions.com

Return value

Type Description
string|bool Will return the latest version, or bool false if it could not get the latest version. @since Version 4.1.0

getLicenseExpire( string   $addon = '', ) : int|string

Description

Gets the unix timestamp for when the license expires

Arguments

Name Type Description Default
$addon string ''

Return value

Type Description
int|string Unix timestamp for when local license expires, or the string 'never' if it never expires.

Tags

Name Description
since Version 4.1.0

getLocalLicenseExpire( string   $addon, ) : int|string

Description

Gets the unix timestamp for when the license data expires

Arguments

Name Type Description Default
$addon string

Return value

Type Description
int|string Unix timestamp for when local license expires, or the string 'never' if it never expires.

Tags

Name Description
since Version 4.1.0

getOverdueInvoice( ) : array

Description

Gets data about overdue leased license invoice, or null if not valid for this license, or not overdue.

Return value

Type Description
array

Tags

Name Description
since Version 6.0.0

getPackageId( ) : n/a

Description

Gets the package ID that the license is installed in (used for links in admin panel)

Return value

Type Description
n/a n/a

getSupportExpire( string   $addon = '', ) : int|string

Description

Gets the date for support & updates expiration (specifically, the timestamp for when download control expires)

Arguments

Name Type Description Default
$addon string ''

Return value

Type Description
int|string timestamp for when download access expires, or "never" if never expires

Tags

Name Description
since Version 4.1.0

getVersion( ) : string

Description

Gets the current version of the software, as set in the database.

Return value

Type Description
string

get_hash_types( ) : Array

Description

Gets an array of strings, one for each type of hash used for the get_hashed_password function. Note that addons can register their own ways to generate hashed passwords, see the hook notify_geoPC_get_hash_types called in this method, and the method register_hash_type() in this class.

Return value

Type Description
Array An array of arrays using the form: key = hash type, value is an array with 'length' => either fixed length that all hashed passwords will be, or -1 if variable length, 'saltLength'=> the fixed length for how long salt values are, 0 if not use salt, or -1 for variable length salt, 'name' => the name, used to set this hash type as default hash used in admin. If blank, this will not show as option in admin.

get_hashed_password( String   $username, String   $password, string   $hash_type = 0, string   $salt = '', ) : Mixed

Description

Generates a hashed password from the given plain text username and password.

Arguments

Name Type Description Default
$username String
$password String

The password, in plain text.

$hash_type string

the hash type to use, as returned by get_hash_types()

0
$salt string

The salt, if the hash type uses a salt value. Supply existing salt value if verifying existing hashed password, otherwise leave blank if generating a new hashed password

''

Return value

Type Description
Mixed String hashed password if success, or boolean false if error occures.

get_installation_info( ) : array

Description

Gets the domain name and path, used for license validation.

Return value

Type Description
array An associative array, following the format array ( 'domain' => $domain, 'path' => $install_path)

is_addon_attached( array   $addon_product_ids, ) : bool

Description

Checks to see if the given addon's product ID is attached to the current license or not.

Arguments

Name Type Description Default
$addon_product_ids array

The array of product IDs that the addon is part of. Namely the main product ID and any "combo" product ID's.

Return value

Type Description
bool True if found on license, false otherwise.

Tags

Name Description
since Version 7.0.0

is_auctions( ) : boolean

Description

Returns true if Auctions are enabled

Return value

Type Description
boolean

Tags

Name Description
deprecated 7.0

is_basic( ) : false

Description

Returns true if license product edition is Basic.

Return value

Type Description
false

Tags

Name Description
deprecated by GeoCore -- everything is now treated as Enterprise

is_class_auctions( ) : boolean

Description

Returns true if both classifieds and auctions are enabled

Return value

Type Description
boolean

Tags

Name Description
deprecated by GeoCore
deprecated 7.0

is_classifieds( ) : boolean

Description

Returns true if Classifieds are enabled

Return value

Type Description
boolean

Tags

Name Description
deprecated 7.0

is_ent( ) : true

Description

Returns true if license product edition is Enterprise.

Return value

Type Description
true

Tags

Name Description
deprecated by GeoCore -- everything is now treated as Enterprise

is_leased( string   $addon = '', ) : bool

Description

Returns true if license is a leased license.

Arguments

Name Type Description Default
$addon string ''

Return value

Type Description
bool

Tags

Name Description
since Version 6.0.0

is_main_demo( ) : bool

Description

Returns true if license is the MAIN demo, or false if not.

Return value

Type Description
bool

Tags

Name Description
since Version 7.0.4

is_premier( ) : false

Description

Returns true if license product edition is Premier.

Return value

Type Description
false

Tags

Name Description
deprecated by GeoCore -- everything is now treated as Enterprise

is_print( ) : boolean

Description

Returns true if Print is enabled

Return value

Type Description
boolean

Tags

Name Description
deprecated 7.0

is_trial( ) : bool

Description

Returns true if license is a trial license, or false if not.

Return value

Type Description
bool

is_windows( ) : boolean

Description

Determine if we are running windows or not.

Return value

Type Description
boolean

maxSeats( ) : \number

Description

Not really used at the moment, in the future we may offer limited licenses that have set number of admin logins allowed.

Return value

Type Description
\number

path_translated( ) : string|boolean

Description

Get the directory path

Return value

Type Description
string|boolean string on success; boolean on failure

pr( array   $stack, boolean   $stop_execution = true, ) : string

Description

Debug - prints a formatted array

Arguments

Name Type Description Default
$stack array

The array to display

$stop_execution boolean true

Return value

Type Description
string

register_hash_type( string   $addon, string   $type, string   $name = '', int   $length = -1, int   $saltLength = 0, ) : string

Description

Register a new password hash type, used by addons to add custom hash types for passwords.

Arguments

Name Type Description Default
$addon string

The addon name

$type string

The

$name string

If set, will allow this hash method to be selected as the "default" hash method to use in the admin, and the name set here will be the name used to reffer to this hash method. Note that it will automatically append the addon's title

''
$length int

If set, this is the fixed length that the has type produces once hashed. For instance, if using SHA1 the length will always be 32. Set value to -1 for "variable length"

-1
$saltLength int

If the hash uses a salt, need to set the salt length to the length that all salt values will be, or -1 for variable length. Leave at default 0 length if the hash does not use a salt.

0

Return value

Type Description
string The generated index type as it would be referenced in logins table, or empty on invalid input.

Tags

Name Description
since Version 7.1.0

scrape_phpinfo( array   $all, string   $target, ) : string|boolean

Description

Get access details from phpinfo()

Arguments

Name Type Description Default
$all array
$target string

Return value

Type Description
string|boolean string on success; boolean on failure

server_addr( ) : string|boolean

Description

Get the server IP address

Return value

Type Description
string|boolean string on success; boolean on failure

show_site_off( ) : n/a

Description

Shows the contents of site_off.htm, or if that file is not found, shows the message "Site is under Maintenence, please check back later."

Return value

Type Description
n/a n/a

urlGetContents( string   $url, int   $timeout = 0,   $additionalHeaders = null, ) : n/a

Description

Gets contents of given URL. NO CLEANING is done on URL, if it is from user input it must be properly cleaned prior to calling this method.

Arguments

Name Type Description Default
$url string
$timeout int

Number of seconds for connection timeout. Param added in version 7.0.4

0
$additionalHeaders n/a null

Return value

Type Description
n/a n/a

Tags

Name Description
since Version 5.0.3

urlPostContents( string   $url, array|string   $params, int   $timeout = 30, array   $additionalHeaders = null, ) : n/a

Description

Sends POST to given URL with the given post parameters, and returns the response. Accounts for if server has CURL or not. If you need to just get response of URL without posting data, see {@link geoPC::urlGetContents()}
As of version 6.0.0, now accepts https:// URL's even when using fsockopen to connect, as long as open SSL is installed on server. Otherwise just returns empty string. As of version 7.0.5, now uses HTTP/1.1 protocol instead of HTTP/1.0 that was used in previous versions.

Arguments

Name Type Description Default
$url string

The post URL to post to.

$params array|string

The array of post parameters or query string

$timeout int

Number of seconds for connection timeout. Param added in version 7.0.4

30
$additionalHeaders array

an array of additional HTTP headers to send with the request, beyond the normal ones

null

Return value

Type Description
n/a n/a

Tags

Name Description
since Version 5.1.2

verify_credentials( string   $username, string   $password, string   $license = false, bool   $check_email_as_user = true, bool   $checkAdmin = false, bool   $verifyStatus = true, ) : Mixed

Description

Validates the username and password from the database. Password should be in plain text form. Takes into account different password storage types set in the admin (Enterprise Only) under the Security Settings page.

Arguments

Name Type Description Default
$username string

The username, in plain text.

$password string

The password, in plain text. This can NOT be the hashed password, it must be in plaintext.

$license string

Only used when entering a new license key

false
$check_email_as_user bool

if set to false, will NOT try to match by the e-mail if the username is not found.

true
$checkAdmin bool

If set to true, and product is Enterprise, if normal password check does not match, and user is logged into admin panel already, will check to see if it matches the logged-in admin user's password.

false
$verifyStatus bool

If false, do not validate if user status is active or not. Added in version 7.2.6.

true

Return value

Type Description
Mixed false if credentials do not match, or an array with user data if verified.

Tags

Name Description
since The $checkAdmin param added in Version 4.1.0.

geoSession

Properties

 
 
System  
No 
No 

Description

Manages session storage and session cookies for user sessions.
Works directly with {@link geoPC} and {@link DataAccess}, and requires (like most geo classes) that the software is initialized using app_top.common.php. Since this class is encoded, if you have any questions at all about any of the methods contained in here, send in a support ticket and we will answer if possible.

Methods

__construct, _initRegistry, cleanSessions, closeSession, currentAdminSeats, get, getCookieDomainName, getDevice, getInstance, getIpField, getLanguage, getMobileDetect, getSessionId, getStatus, getUniqueUserInfo, getUserId, getUserName, initSession, isSSL, is_robot, logOut, serialize, set, setDevice, setLanguage, shiftedTime, touch, touchSession, uniqueSessionId, unsetSessionCookies,

__construct( ) : n/a

Description

Constructor, sets up settings, but does not init the session.

Return value

Type Description
n/a n/a

_initRegistry( ) : n/a

Description

Initialize the session registry

Return value

Type Description
n/a n/a

cleanSessions( ) : n/a

Description

Purge the database of sessions that are more than an hour old (or if Enterprise, whatever the setting is in security settings page in admin)

Return value

Type Description
n/a n/a

Tags

Name Description
todo If this turns out to take a long time on high traffic sites, consider moving this into a dedicated cron job.

closeSession( string   $sessionId = null, ) : n/a

Description

Manually close a session, delete the session out of the database, and remove any sell or registration sessions.

Arguments

Name Type Description Default
$sessionId string

If not specified, will use current session id.

null

Return value

Type Description
n/a n/a

currentAdminSeats( ) : int

Description

Get the number of admin seats that currently have someone sitting in them, which is determined by any admin session that had any activity less than 20 minutes ago.

Return value

Type Description
int

get( string   $item, mixed   $default = false, ) : Mixed

Description

Gets the specified item from the session registry, or if item is one of the "main" items it gets that instead.

Arguments

Name Type Description Default
$item string
$default mixed

What to return if the item is not set.

false

Return value

Type Description
Mixed the specified item, or false if item is not found.

getCookieDomainName( ) : n/a

Description

Get the cookie domain name

Return value

Type Description
n/a n/a

getDevice( ) : string

Description

Get the device detected (or manually set) for the current session.

Return value

Type Description
string Will be one of the geoSession::DEVICE_* constants

Tags

Name Description
since Version 7.3.0

getInstance( ) : \geoSession

Description

Gets an instance of the geoSession class.

Return value

Type Description
\geoSession

getIpField( ) : String

Description

Detects what field to use depending on if the connection is ssl or not.

Return value

Type Description
String 'ip' if not on SSL connection, or 'ip_ssl' if on SSL connection.

getLanguage( ) : int

Description

Returns the language ID stored in the Session object

Return value

Type Description
int

getMobileDetect( ) : \Mobile_Detect

Description

Get instance of the Mobile_Detect class, handy for detecting info about the device used

Return value

Type Description
\Mobile_Detect

Tags

Name Description
since Version 7.3.0

getSessionId( ) : string

Description

Returns the classified_session id

Return value

Type Description
string session ID

getStatus( ) : string

Description

Gets the session status

Return value

Type Description
string

getUniqueUserInfo( String   $salt, ) : String

Description

Gets a unique sha1 hash for the current user

Arguments

Name Type Description Default
$salt String

Used to salt the unique hash. When used for ip column, needs to be the session id.

Return value

Type Description
String alpha numeric string (HEX string, which is 0-9, A-F) 40 chars long

getUserId( ) : integer

Description

Return the user ID stored in the Session object

Return value

Type Description
integer User ID

getUserName( ) : string

Description

Gets the username.

Return value

Type Description
string Return the user name according to the current user ID of the current session.

initSession( bool   $force = false, bool   $force_session_id = false, ) : string

Description

Initializes a session, stores a user ID and returns the session ID Use {@link geoSession::getUserId()} to retrieve the user ID associated with the session (if any)

Arguments

Name Type Description Default
$force bool

If true, even if session was already initialized this page load, it will re-initialize it.

false
$force_session_id bool

If true, and ONLY if called in an API call, if the session does not exist that matches the session cookie, it will create a session in the DB that matches. Var added in version 5.2.4

false

Return value

Type Description
string The session ID of the new session

isSSL( ) : bool

Description

Whether or not current page load used SSL connection or not.

Return value

Type Description
bool

Tags

Name Description
since Version 4.1.0

is_robot( ) : boolean

Description

Check to see if the current session is a detected robot.

Return value

Type Description
boolean Returns true if user agent is in list of known user agents.

logOut( ) : n/a

Description

Logs the current user out, and destroys all session data. Note that this will also redirect back to the main page, and if that fails, a white screen will be displayed.

Return value

Type Description
n/a n/a

serialize( ) : n/a

Description

Serializes the current session (saves changes in the database)

Return value

Type Description
n/a n/a

set( string   $item, mixed   $value, ) : n/a

Description

Sets the given item to the given value. If item is one of built-in items, it sets that instead of something from the registry.

Arguments

Name Type Description Default
$item string
$value mixed

Return value

Type Description
n/a n/a

setDevice( string   $forceDevice = null, ) : n/a

Description

Usually used in app top, this is used to detect and store the device for later use in the software.

Arguments

Name Type Description Default
$forceDevice string

If specified, will make the device match it

null

Return value

Type Description
n/a n/a

Tags

Name Description
since Version 7.3.0

setLanguage( int   $languageId = null, ) : n/a

Description

Sets the language in a cookie If a language ID is passed in, it takes precedence

Arguments

Name Type Description Default
$languageId int null

Return value

Type Description
n/a n/a

shiftedTime( ) : int

Description

Return a unix timestamp representing the time-shifted time The time is adjusted using the server's time zone offset

Return value

Type Description
int

touch( ) : n/a

Description

Use when this object has been changed, so that when it is serialized, it will know there are changes that need to be serialized.
Note that this is automatically called internally when any of the set functions are used.

Return value

Type Description
n/a n/a

touchSession( string   $sessionId = null, ) : n/a

Description

Update the timestamp for a user's session This is similar to Unix's touch command

Arguments

Name Type Description Default
$sessionId string null

Return value

Type Description
n/a n/a

uniqueSessionId( ) : string

Description

Return a unique session ID

Return value

Type Description
string The session ID

unsetSessionCookies( \(Optional)Boolean   $agressive = false, \(Optional)String   $domain = false, ) : n/a

Description

Simple function to unset a user's cookie. Attempts to account for all the weird browsers out there.

Arguments

Name Type Description Default
$agressive \(Optional)Boolean

If set to true, will also attempt to unset other common cookies.

false
$domain \(Optional)String

The domain name to set the cookie for.

false

Return value

Type Description
n/a n/a

Properties

$_registry,

\geoRegistry  private  $_registry =

Session registry object


Constants

  DEVICE_DESKTOP = 'desktop'

This is used to indicate a desktop device was detected.


  DEVICE_MOBILE = 'mobile'

This is used to indicate a mobile device was detected.


geoPCAPI

Properties

 
 
 
No 
No 

Description

Copyright 2009 SolidPHP, Inc. All Rights Reserved.
Author: Andy Rockwell - support@solidphp.com Website: www.spbas.com RESTful API Handler v1.0 created on 09-18-2009

Methods

commands_to_string, fetch, fetch_fsockopen, parse_xml_by_eval, pr, query, unwrap_package, view_local_key,

commands_to_string( array   $commands, ) : string

Description

Turn an array into a string suitable for fetching data.

Arguments

Name Type Description Default
$commands array

Return value

Type Description
string

fetch( array   $request, boolean   $debug = false, boolean   $clean_response = false, ) : string

Description

Fetch data from the API

Arguments

Name Type Description Default
$request array
$debug boolean false
$clean_response boolean false

Return value

Type Description
string

fetch_fsockopen( array   $request, boolean   $debug = false, boolean   $clean_response = false, ) : string

Description

Fetch data from the API

Arguments

Name Type Description Default
$request array
$debug boolean false
$clean_response boolean false

Return value

Type Description
string

parse_xml_by_eval(   $xml, ) : array

Description

Parse XML using eval() to compile the resulting array

Arguments

Name Type Description Default
$xml n/a

Return value

Type Description
array parsed XML

pr( array   $stack, boolean   $stop_execution = true, ) : string

Description

Debug helper - prints a formatted array

Arguments

Name Type Description Default
$stack array

The array to display

$stop_execution boolean true

Return value

Type Description
string

query( string   $api_handler, string   $api_key, string   $mod, string   $task, array   $extras = array(), boolean   $no_xml = false, boolean   $debug = false, ) : array

Description

Issue a command via the API

Arguments

Name Type Description Default
$api_handler string
$api_key string
$mod string
$task string
$extras array array()
$no_xml boolean false
$debug boolean false

Return value

Type Description
array

unwrap_package( string   $xml, ) : array

Description

Base64 decode the data and unserialize it back to an array.

Arguments

Name Type Description Default
$xml string

Return value

Type Description
array

view_local_key( string   $local_key, ) : string

Description

Display the local key in a textarea

Arguments

Name Type Description Default
$local_key string

Return value

Type Description
string

_geoInternalSettings

Properties

 
 
 
No 
No 

Description

Simple internal class, for making certain vars not show with print_r or by other means, to help protect the license.

Methods

__construct, __get, __isset, __set, __unset, _getSetVar,

__construct( ) : n/a

Description

constructor

Return value

Type Description
n/a n/a

__get( string   $var, ) : mixed

Description

Magic method!

Arguments

Name Type Description Default
$var string

Return value

Type Description
mixed

__isset( \unknown   $var, ) : NULL

Description

Magic method!

Arguments

Name Type Description Default
$var \unknown

Return value

Type Description
NULL

__set( \unknown   $var, \unknown   $value, ) : NULL

Description

Magic method!

Arguments

Name Type Description Default
$var \unknown
$value \unknown

Return value

Type Description
NULL

__unset( \unknown   $var, ) : NULL

Description

Magic method!

Arguments

Name Type Description Default
$var \unknown

Return value

Type Description
NULL

_getSetVar( \unknown   $var, \unknown   $val, \unknown   $action, ) : NULL

Description

thingy that does all the work

Arguments

Name Type Description Default
$var \unknown
$val \unknown
$action \unknown

Return value

Type Description
NULL
Documentation was generated by phpDocumentor 2.2.0 .

Namespaces

  • global

    Packages

    • Default
      • ExampleAddon
        • addon_example_admin
          In charge of doing stuff on the admin side, this is optional.
        • addon_example_info
          Required class for addons, this is the Addon information class, used by the addon system to determine what the addon can do. Also contains info about the addon that can be viewed in the addon management page in the admin.
        • addon_example_pages
          Addon page class, used by the addon system to display pages on the client side.
        • addon_example_setup
          This class is not required. If it, and the function for a particular routine exist, then that function will be called IN ADDITION TO the automated routines of the addon framework.
        • addon_example_tags
          Expects one function for each tag. Function name should be the same as the tag name. Can also have a constructor if anything needs to be constructed.
        • addon_example_util
          This is where to put functions that the main part of the addon will use.
        • eWidgetOrderItem
          This order item is designed to allow users on your site to purchase an eWidget.
      • System
        • DataAccess
          This is the main Database access object.
        • Singleton
          Singleton method class
        • _templateOrderItem
          Developers: use this file as a template to create a new order item.
        • _templatePaymentGateway
          This is the "developer template" payment gateway handler, a developer could use this file as a starting point for creating a new payment gateway in the system.
        • geoAPI
          The main system class for receiving and handling remote API calls, this acts as a translation layer between the communication with the "outside" and each API call.
        • geoAddon
          This is the class that handles anything and everything to do with addons.
        • geoArrayTools
          Utility functions for manipulating arrays
        • geoBrowse
          Contains functions common to browsing listings
        • geoBrowsingFilter
          System for activating, storing, and deactivating browsing filters.
        • geoCJAX
          Class that wraps the CJAX_FRAMEWORK, used to get the CJAX class.
        • geoCache
          This is the main part of the Geo cache system, it does all the "low level" stuff like writing files and escaping cache data.
        • geoCacheModule
          Part of Geo Cache system, specifically tuned to work best with cacheing module data (which will be an array).
        • geoCachePage
          Cache system specifically tuned to work best with cacheing output of pages and modules
        • geoCacheSetting
          Part of Geo Cache system, specifically tuned to work best with cacheing site-wide key=value type settings.
        • geoCacheText
          Part of Geo Cache system, this part specifically tuned to work best with cacheing language specific messages.
        • geoCalendar
          Holds utility method(s) for manipulating stuff dealing with calendar selector.
        • geoCart
          This class is behind the cart, loading all the order items and such and displaying, and processing all the different pages.
        • geoCategory
          Utility class that holds various methods to do stuff with categories in the system.
        • geoCombineResources
          This class helps to combine CSS and JS files, minify them, and optionally compress them.
        • geoCron
          This is the cron job backend, it handles all the communication and security and all that.
        • geoCrypt
          Class to use for encrypting information that needs to be able to be retrieved later.
        • geoDate
          Holds utility method(s) for manipulating stuff dealing with dates.
        • geoEmail
          Class that sends out e-mails.
        • geoFields
          Class that holds settings information for fields to use.
        • geoFieldsField
          A mini object to hold data about a specific field.
        • geoFile
          As the name implies, this is used for file-based utility methods.
        • geoFilter
          A few utility methods, good for filtering stuff.
        • geoFormatString
          Used to display a message nice and pretty, we'll probably be getting rid of this class though so don't go crazy using it.
        • geoHTML
          Class to generate chunks of HTML that are very common, used the most in the admin panel.
        • geoImage
          This class is responsible for a lot of the image processing, along with other aspects like generating the image tag for thumbnails.
        • geoInvoice
          This is the invoice object representing an invoice in the system.
        • geoLeveledField
          Class for doing common things with leveled fields.
        • geoListing
          A listing object, basically a container object for particular listing.
        • geoListingDisplay
          This is basically a container that is responsible for helping to display {listing .
        • geoListingFeed
          Class that helps to render RSS or other types of feeds based on list of listings.
        • geoMaster
          This is dedicated class for getting the value of, and setting, the various "master switches" within the software. Since this is meant as an easy way to get the values of master switches, most of the methods are static.
        • geoNumber
          Utility functions relating to number conversion/manipulation/validation ect.
        • geoOrder
          The geoOrder object, an object representation of an order in the system.
        • geoOrderItem
          The class that all order items must extend.
        • geoPC
          Used for login credential validation, password hashing, etc. along with software licensing.
        • geoPagination
          Utility functions useful for generating pagination of a results page such as when browing ads or searching
        • geoPaymentGateway
          This class should be extended by each different payment gateway, this will have some default functions that each gateway will inherit, and also has a few final static methods used by the system to affect all order items.
        • geoPlanItem
          A container to hold settings for a particular order item type, according to price plan ID, and optionally category ID for category specific settings.
        • geoRecurringBilling
          The geoRecurringBilling object, an object representation of a recurring billing in the system.
        • geoRegion
          Stuff for regions and sub-regions.
        • geoRegistry
          Handy little object, can be used to set registry type settings.
        • geoSearchUtils
          Class for search utilities.
        • geoSellerBuyer
          Handles back-end for the seller/buyer payment gateways, to allow the buyer to more easily pay the seller for a won auction. This handles the underlying system, but the actual work is done by individual seller/buyer gateways, for instance the Paypal buy-now functionality.
        • geoSession
          Manages session storage and session cookies for user sessions.
        • geoString
          Utility functions relating to languages and string manipulation.
        • geoStringData
          This class is to store accented chars, to be used by {@link geoString::removeAccents()}, mainly to keep the String.class.php file un-cluttered.
        • geoTable
          NOT FULLY IMPLEMENTED! Do not use this class yet as it is not finished and may change drastically before we are done with it, or may even be removed.
        • geoTableRow
          NOT FULLY IMPLEMENTED! Do not use this class yet as it is not finished and may change drastically before we are done with it, or may even be removed.
        • geoTableRowset
          NOT FULLY IMPLEMENTED! Do not use this class yet as it is not finished and may change drastically before we are done with it, or may even be removed.
        • geoTableSelect
          Class used to generate a select query, useful when multiple areas want to affect a single query, for instance when generating a search query and there are addons involved.
        • geoTables
          Used to hold database table names, used throughout the code.
        • geoTemplate
          Template object that extends the Smarty class (a 3rd party library) to enable using templates to display things.
        • geoTransaction
          This is the object used for a transaction in the order and invoice system.
        • geoUser
          An object representative of a certain user in the system.
        • geoUserRating
          Store, retrieve, and display inter-user ratings
        • geoUtil
          Misc utility functions
        • geoView
          As the name implies, this is used for creating the page view. It does take a little setup (like any class), the setup is normally done in the display_page method in geoSite, or display_page in geoAdmin if displaying a page in the admin.
        • iApiTransport
          Interface for API Transports, a transport must implement this interface for the system to use it.
        • iOrderItem
          You cannot have abstract static functions, so instead need to have an interface to force the given static functions to be defined.
        • metaDbTables
          Used so that old locations that use the old name geoTables will still work.