54 lines
1.4 KiB
PHP
54 lines
1.4 KiB
PHP
<?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');
|
|
else
|
|
return $this->barcodelabel;
|
|
}
|
|
|
|
public function usage() {
|
|
return $this->status == 'Empty' ? $this->status : $this->LIBVOLUME->volusage();
|
|
}
|
|
}
|
|
?>
|