<?php defined('SYSPATH') or die('No direct access allowed.');
/**
* PTA Show Slot Item.
*
* @package PTA
* @subpackage TSM
* @category Helpers
* @author Deon George
* @copyright (c) 2010 phpTSMadmin Development Team
* @license http://phptsmadmin.sf.net/license.html
*/
class Slot {
private $data = array();
private $objects = array(
'VOLUME'=>'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');
return $this->barcodelabel;
?>