'barcodelabel', 'LIBVOLUME'=>'element', ); public function __construct(array $slot) { $this->data = $slot; } public function __get($key) { if (isset($this->data[$key])) return $this->data[$key]; // @todo Volume names may not be unique if there is more than 1 library. elseif (isset($this->objects[$key])) return ORM::factory($key,$this->__get($this->objects[$key])); else throw new Kohana_Exception('Undefined property :class:::property',array(':class'=>get_class($this),':property'=>$key)); } public function __toString() { return $this->slot; } public function barcodelabel() { if ($this->LIBVOLUME->VOLUME_NAME) return $this->LIBVOLUME->VOLUME_NAME; elseif ($this->status == 'Allocated' AND $this->barcode == 'not present') return _('No Label'); elseif ($this->status == 'Unallocated') return _('Slot Empty'); else return $this->barcodelabel; } } ?>