so = $so; if (! $this->so->loaded()) throw new Kohana_Exception(_('Site [:site] not defined in DB?'),array(':site'=>URL::base('http'))); Kohana::$environment = (int)$this->so->status; } public static function instance() { $x = URL::base('http'); if (! isset(Company::$instance[$x])) Company::$instance[$x] = new Company(ORM::factory('Setup',array('url'=>$x))); return Company::$instance[$x]; } public function admin() { return $this->so->account->name(); } public function address($ln='
') { return implode($ln,array($this->street($ln),sprintf('%s, %s %s',$this->city(),$this->state(),$this->pcode()))); } public function city() { return $this->so->site_details('city'); } public function contacts() { return 'Tel: '.$this->phone(); } public function country() { return $this->so->country; } public function date_format() { return $this->so->date_format; } public function decimals() { return $this->so->decimal_place; } public function email() { return $this->so->site_details('email'); } public function fax() { return $this->so->site_details('fax'); } public function faq() { return $this->so->site_details('faqurl'); } public function language() { return $this->so->language; } public function logo() { return Config::logo(); } public function logo_file() { list ($path,$suffix) = explode('.',Config::$logo); return ($x=Kohana::find_file(sprintf('media/site/%s',$this->site()),$path,$suffix)) ? $x : Kohana::find_file('media',$path,$suffix); } public function name() { return $this->so->site_details('name'); } public function module_config($item,array $value=NULL) { return $this->so->module_config($item,$value); } public function pcode() { return $this->so->site_details('pcode'); } public function phone() { return $this->so->site_details('phone'); } public function site($format=FALSE) { return $format ? sprintf('%02s',$this->so->id) : $this->so->id; } public function so() { return $this->so; } public function state() { return $this->so->site_details('state'); } public function street($ln='
') { return $this->so->site_details('address2') ? implode($ln,array($this->so->site_details('address1'),$this->so->site_details('address2'))) : $this->so->site_details('address1'); } public function sitemode() { return $this->so->status; } public function taxid() { // Tax ID details are stored in invoice config $mc = $this->so->module_config('invoice'); if (empty($mc['TAX_ID_NAME'])) return empty($mc['TAX_ID']) ? '' : $mc['TAX_ID']; else return sprintf('%s: %s',$mc['TAX_ID_NAME'],empty($mc['TAX_ID']) ? '' : $mc['TAX_ID']); } public function time_format() { return $this->so->time_format; } public static function bsb() { // @todo Details should be obtained from DB return Kohana::$config->load('config')->bsb; } public static function account() { // @todo Details should be obtained from DB return Kohana::$config->load('config')->accnum; } } ?>