<?php defined('SYSPATH') or die('No direct access allowed.'); /** * * @package PTA * @subpackage File Spaces * @category Models * @author Deon George * @copyright (c) 2010 phpTSMadmin Development Team * @license http://phptsmadmin.sf.net/license.html */ class Model_FILESPACE extends ORMTSM { protected $_table_name = 'FILESPACES'; protected $_primary_key = 'FILESPACE_NAME'; protected $_has_many = array( 'VOLUMEUSAGE'=>array('foreign_key'=>array('NODE_NAME','FILESPACE_NAME'),'far_key'=>'FILESPACE_NAME'), 'OCCUPANCY'=>array('foreign_key'=>array('NODE_NAME','FILESPACE_NAME'),'far_key'=>'FILESPACE_NAME'), ); protected $_formats = array( 'BACKUP_END'=>array('ORMTSM::date'=>array('d-M-Y')), ); protected $_sorting = array( 'NODE_NAME'=>'ASC', ); public function utilsation() { return $this->CAPACITY * ($this->PCT_UTIL/100); } public function storagepools($dtype) { $pool = array(); foreach ($this->OCCUPANCY ->select('STGPOOL_NAME') ->where('TYPE','=',$dtype) ->group_by('STGPOOL_NAME') ->order_by('STGPOOL_NAME') ->find_all() as $vo) { array_push($pool,$vo->STGPOOL_NAME); } return $pool; } public function pool_logical_util($pool) { return $this->OCCUPANCY->where('STGPOOL_NAME','=',$pool)->find()->LOGICAL_MB; } public function pool_numvols($pool) { return $this->VOLUMEUSAGE->where('STGPOOL_NAME','=',$pool)->find_all()->count(); } } ?>