* @copyright 2009 Deon George * @link http://osb.leenooks.net * * @link http://www.agileco.com/ * @copyright 2004-2008 Agileco, LLC. * @license http://www.agileco.com/agilebill/license1-4.txt * @author Tony Landis * @package AgileBill * @subpackage Core:Setup */ /** * The main AgileBill Core Setup Class * * @package AgileBill * @subpackage Core:Setup */ class CORE_setup { public function __construct() { if (defined('MEMCACHE_ENABLED') && MEMCACHE_ENABLED == true) { require_once(PATH_INCLUDES.'cache/cache.php'); $key = md5('keyname1'.__FILE__.DEFAULT_SITE); $sec = 60*30; $timeout = get_value($key.'_exp'); if ($timeout == '' || $timeout < time() || ! $fields = get_value($key)) { $fields = $this->get_setup(); store_value($key,$fields); store_value($key.'_exp',time()+$sec); } } else { $fields = $this->get_setup(); } define('DEFAULT_COUNTRY', $fields['country_id']); define('DEFAULT_LANGUAGE', $fields['language_id']); define('DEFAULT_CURRENCY', $fields['currency_id']); define('DEFAULT_WEIGHT', $fields['weight_id']); define('DEFAULT_THEME', $fields['theme_id']); define('DEFAULT_ADMIN_THEME', $fields['admin_theme_id']); define('DEFAULT_GROUP', $fields['group_id']); define('DEFAULT_AFFILIATE_TEMPLATE', $fields['affiliate_template_id']); define('DEFAULT_AFFILIATE', $fields['affiliate_id']); define('DEFAULT_RESELLER', $fields['reseller_id']); define('DEFAULT_SETUP_EMAIL', $fields['setup_email_id']); define('DEFAULT_TIME_FORMAT', $fields['time_format']); define('DEFAULT_ACCOUNT_STATUS',$fields['default_account_status']); $this->default_date_format($fields['date_format']); if (! defined('DEFAULT_TIME_FORMAT')) define('DEFAULT_TIME_FORMAT',$fields['time_format']); define('DEFAULT_DATE_TIME_FORMAT',$fields['date_time_format']); define('DEFAULT_DECIMAL_PLACE',$fields['decimal_place']); define('COOKIE_NAME', $fields['cookie_name']); define('COOKIE_EXPIRE', $fields['cookie_expire']); define('SESSION_IP_MATCH', $fields['session_ip_match']); define('SESSION_EXPIRE', $fields['login_expire']); define('NEWSLETTER_REGISTRATION',$fields['newsletter_registration']); define('SEARCH_EXPIRE', $fields['search_expire']); define('ERROR_REPORTING', $fields['error_reporting']); define('DEBUG', $fields['debug']); define('LOGIN_ATTEMPT_TRY', $fields['login_attempt_try']); define('LOGIN_ATTEMPT_TIME', $fields['login_attempt_time']); define('LOGIN_ATTEMPT_LOCK', $fields['login_attempt_lock']); define('DB_CACHE', $fields['db_cache']); define('CACHE_SESSIONS', $fields['cache_sessions']); define('WEBLOG', $fields['weblog']); if (! defined('SSL_URL')) define('SSL_URL', $fields['ssl_url']); if (! defined('URL')) define('URL', $fields['nonssl_url']); if (! defined('SITE_NAME')) define('SITE_NAME', $fields['site_name']); if (! defined('SITE_EMAIL')) define('SITE_EMAIL', $fields['site_email']); if (! defined('SITE_ADDRESS')) define('SITE_ADDRESS', $fields['site_address']); if (! defined('SITE_CITY')) define('SITE_CITY', $fields['site_city']); if (! defined('SITE_STATE')) define('SITE_STATE', $fields['site_state']); if (! defined('SITE_ZIP')) define('SITE_ZIP', $fields['site_zip']); if (! defined('SITE_PHONE')) define('SITE_PHONE', $fields['site_phone']); if (! defined('SITE_FAX')) define('SITE_FAX', $fields['site_fax']); if ($fields['os'] == 1) define('AGILE_OS', 'WINDOWS'); else define('AGILE_OS', 'LINUX'); define('PATH_CURL', $fields['path_curl']); define('SHOW_AFFILIATE_LINK', $fields['show_affiliate_link']); define('AUTO_AFFILIATE', @$fields['auto_affiliate']); define('SHOW_NEWSLETTER_LINK', $fields['show_newsletter_link']); define('SHOW_CONTACT_LINK', $fields['show_contact_link']); define('SHOW_DOMAIN_LINK', $fields['show_domain_link']); define('SHOW_CART_LINK', $fields['show_cart_link']); define('SHOW_CHECKOUT_LINK', $fields['show_checkout_link']); define('SHOW_PRODUCT_LINK', $fields['show_product_link']); define('SHOW_CAT_BLOCK', $fields['show_cat_block']); define('SHOW_STATIC_BLOCK', $fields['show_static_block']); define('SHOW_AFFILIATE_CODE', $fields['show_affiliate_code']); define('SHOW_DISCOUNT_CODE', $fields['show_discount_code']); define('BILLING_WEEKDAY', $fields['billing_weekday']); define('GRACE_PERIOD', $fields['grace_period']); define('MAX_BILLING_NOTICE', $fields['max_billing_notice']); eval('error_reporting('.ERROR_REPORTING.');'); } private function get_setup() { $db = &DB(); $result = $db->Execute(sqlSelect($db,'setup','*','')); if (! $result || $result->RecordCount() == 0) { if (is_file('install/install.inc')) require_once('install/install.inc'); else $this->handle_failure($db); exit; } else { return $result->fields; } } private function default_date_format($default) { $default = unserialize($default); $format = ''; $divider = $default[3]; for ($i=0; $i<3; $i++) { $format .= $default[$i]; if ($i != 2) $format .= $divider; } $arr = Array('a','A','b','B','d','j','m','u','y','Y'); for ($i=0; $i_errorMsg)); exit; } } ?>