<?php defined('SYSPATH') or die('No direct access allowed.'); /** * This class is for access system configuration. * * @package OSB * @subpackage Config * @category Helpers * @author Deon George * @copyright (c) 2010 Open Source Billing * @license http://dev.osbill.net/license.html */ class Config extends lnApp_Config { // Our setup object public $so; /** * Load our site configuration from the DB * * We cant do this in __construct(), since Kohana hasn't been fully initialised yet. */ public function loadsite() { // Anti-loop, if we have loaded our record, just return; if ($this->so AND $this->so->loaded()) return $this; $this->so = ORM::factory('setup',array('nonssl_url'=>URL::base('http'))); if (! $this->so->loaded()) throw new Kohana_Exception(_('Site [:site] not defined in DB?'),array(':site'=>URL::base('http'))); Kohana::$environment = (int)static::sitemode(); return $this; } /** * Find a list of all database enabled modules * * Our available modules are defined in the DB (along with method * security). */ public static function modules() { static $return = array(); if (! count($return)) foreach (ORM::factory('module')->where('status','=',1)->find_all() as $mo) $return[$mo->name] = MODPATH.$mo->name; return $return; } public static function moduleexist($module) { return array_key_exists($module,static::modules()) ? TRUE : FALSE; } } ?>