diff --git a/composer.json b/composer.json index 75984fb0..b145521c 100644 --- a/composer.json +++ b/composer.json @@ -11,5 +11,8 @@ "php": ">=5.3.3", "zendframework/zendframework": "2.2.*", "zendframework/zend-developer-tools": "dev-master" + }, + "autoload": { + "psr-0": {"Bareos\\": "vendor/Bareos/library/"} } } diff --git a/module/Client/Module.php b/module/Client/Module.php index fdab17f5..d29d4513 100644 --- a/module/Client/Module.php +++ b/module/Client/Module.php @@ -6,6 +6,7 @@ use Client\Model\ClientTable; use Zend\Db\ResultSet\ResultSet; use Zend\Db\TableGateway\TableGateway; +use Bareos\Db\Sql\BareosSqlCompatHelper; class Module { @@ -42,7 +43,9 @@ public function getServiceConfig() $dbAdapter = $sm->get('Zend\Db\Adapter\Adapter'); $resultSetPrototype = new ResultSet(); $resultSetPrototype->setArrayObjectPrototype(new Client()); - return new TableGateway('client', $dbAdapter, null, $resultSetPrototype); + $config = $sm->get('Config'); + $bsqlch = new BareosSqlCompatHelper($config['db']['driver']); + return new TableGateway($bsqlch->strdbcompat("Client"), $dbAdapter, null, $resultSetPrototype); }, ), ); diff --git a/module/Client/src/Client/Model/Client.php b/module/Client/src/Client/Model/Client.php index 8c4d5a37..604fce9d 100644 --- a/module/Client/src/Client/Model/Client.php +++ b/module/Client/src/Client/Model/Client.php @@ -14,6 +14,8 @@ class Client public function exchangeArray($data) { + $data = array_change_key_case($data, CASE_LOWER); + $this->clientid = (!empty($data['clientid'])) ? $data['clientid'] : null; $this->name = (!empty($data['name'])) ? $data['name'] : null; $this->uname = (!empty($data['uname'])) ? $data['uname'] : null; diff --git a/module/Client/src/Client/Model/ClientTable.php b/module/Client/src/Client/Model/ClientTable.php index fa73f8f8..94a968e9 100644 --- a/module/Client/src/Client/Model/ClientTable.php +++ b/module/Client/src/Client/Model/ClientTable.php @@ -7,8 +7,11 @@ use Zend\Db\Sql\Select; use Zend\Paginator\Adapter\DbSelect; use Zend\Paginator\Paginator; +use Zend\ServiceManager\ServiceLocatorAwareInterface; +use Zend\ServiceManager\ServiceLocatorInterface; +use Bareos\Db\Sql\BareosSqlCompatHelper; -class ClientTable +class ClientTable implements ServiceLocatorAwareInterface { protected $tableGateway; @@ -18,10 +21,24 @@ public function __construct(TableGateway $tableGateway) $this->tableGateway = $tableGateway; } + public function setServiceLocator(ServiceLocatorInterface $serviceLocator) { + $this->serviceLocator = $serviceLocator; + } + + public function getServiceLocator() { + return $this->serviceLocator; + } + + public function getDbDriverConfig() { + $config = $this->getServiceLocator()->get('Config'); + return $config['db']['driver']; + } + public function fetchAll($paginated=false) { + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); $select = new Select(); - $select->from('client'); + $select->from($bsqlch->strdbcompat("Client")); if($paginated) { $resultSetPrototype = new ResultSet(); @@ -43,9 +60,10 @@ public function getClient($id) { $id = (int) $id; + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); $select = new Select(); - $select->from('client'); - $select->where('clientid = ' . $id); + $select->from($bsqlch->strdbcompat("Client")); + $select->where($bsqlch->strdbcompat("ClientId") . " = " . $id); $rowset = $this->tableGateway->selectWith($select); $row = $rowset->current(); @@ -59,8 +77,9 @@ public function getClient($id) public function getClientNum() { + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); $select = new Select(); - $select->from('client'); + $select->from($bsqlch->strdbcompat("Client")); $resultSetPrototype = new ResultSet(); $resultSetPrototype->setArrayObjectPrototype(new Client()); $rowset = new DbSelect( diff --git a/module/File/Module.php b/module/File/Module.php index 8b30a9a7..fd2a46ae 100644 --- a/module/File/Module.php +++ b/module/File/Module.php @@ -6,6 +6,7 @@ use File\Model\FileTable; use Zend\Db\ResultSet\ResultSet; use Zend\Db\TableGateway\TableGateway; +use Bareos\Db\Sql\BareosSqlCompatHelper; class Module { @@ -42,7 +43,9 @@ public function getServiceConfig() $dbAdapter = $sm->get('Zend\Db\Adapter\Adapter'); $resultSetPrototype = new ResultSet(); $resultSetPrototype->setArrayObjectPrototype(new File()); - return new TableGateway('file', $dbAdapter, null, $resultSetPrototype); + $config = $sm->get('Config'); + $bsqlch = new BareosSqlCompatHelper($config['db']['driver']); + return new TableGateway($bsqlch->strdbcompat("File"), $dbAdapter, null, $resultSetPrototype); }, ), ); diff --git a/module/File/src/File/Model/File.php b/module/File/src/File/Model/File.php index c30c0273..957ab645 100644 --- a/module/File/src/File/Model/File.php +++ b/module/File/src/File/Model/File.php @@ -1,5 +1,28 @@ . + * + */ + namespace File\Model; class File @@ -13,6 +36,8 @@ class File public function exchangeArray($data) { + $data = array_change_key_case($data, CASE_LOWER); + $this->fileid = (!empty($data['fileid'])) ? $data['fileid'] : null; $this->jobid = (!empty($data['jobid'])) ? $data['jobid'] : null; $this->pathid = (!empty($data['pathid'])) ? $data['pathid'] : null; diff --git a/module/File/src/File/Model/FileTable.php b/module/File/src/File/Model/FileTable.php index 78c1ac68..0d852f77 100644 --- a/module/File/src/File/Model/FileTable.php +++ b/module/File/src/File/Model/FileTable.php @@ -1,5 +1,28 @@ . + * + */ + namespace File\Model; use Zend\Db\ResultSet\ResultSet; @@ -7,22 +30,40 @@ use Zend\Db\Sql\Select; use Zend\Paginator\Adapter\DbSelect; use Zend\Paginator\Paginator; +use Zend\ServiceManager\ServiceLocatorAwareInterface; +use Zend\ServiceManager\ServiceLocatorInterface; +use Bareos\Db\Sql\BareosSqlCompatHelper; -class FileTable +class FileTable implements ServiceLocatorAwareInterface { protected $tableGateway; + protected $serviceLocator; public function __construct(TableGateway $tableGateway) { $this->tableGateway = $tableGateway; } + public function setServiceLocator(ServiceLocatorInterface $serviceLocator) { + $this->serviceLocator = $serviceLocator; + } + + public function getServiceLocator() { + return $this->serviceLocator; + } + + public function getDbDriverConfig() { + $config = $this->getServiceLocator()->get('Config'); + return $config['db']['driver']; + } + public function fetchAll($paginated=false) { if($paginated) { - $select = new Select('file'); - $select->order('fileid DESC'); + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); + $select = new Select($bsqlch->strdbcompat("File")); + $select->order($bsqlch->strdbcompat("FileId") . " DESC"); $resultSetPrototype = new ResultSet(); $resultSetPrototype->setArrayObjectPrototype(new File()); $paginatorAdapter = new DbSelect( @@ -40,7 +81,8 @@ public function fetchAll($paginated=false) public function getFile($id) { $id = (int) $id; - $rowset = $this->tableGateway->select(array('fileid' => $id)); + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); + $rowset = $this->tableGateway->select(array($bsqlch->strdbcompat("FileId") => $id)); $row = $rowset->current(); if(!$row) { throw new \Exception("Could not find row $id"); @@ -53,9 +95,14 @@ public function getFileByJobId($id) $paginated = true; $jobid = (int) $id; if($paginated) { + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); $select = new Select(); - $select->from('file')->join('filename', 'file.filenameid = filename.filenameid'); - $select->where('file.jobid = ' . $jobid); + $select->from($bsqlch->strdbcompat("File")); + $select->join( + $bsqlch->strdbcompat("Filename"), + $bsqlch->strdbcompat("File.FilenameId = Filename.FilenameId") + ); + $select->where($bsqlch->strdbcompat("File.JobId") . " = '" . $jobid . "'"); $resultSetPrototype = new ResultSet(); $resultSetPrototype->setArrayObjectPrototype(new File()); $paginatorAdapter = new DbSelect( @@ -72,8 +119,9 @@ public function getFileByJobId($id) public function getFileNum() { + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); $select = new Select(); - $select->from('file'); + $select->from($bsqlch->strdbcompat("File")); $resultSetPrototype = new ResultSet(); $resultSetPrototype->setArrayObjectPrototype(new File()); $rowset = new DbSelect( diff --git a/module/Fileset/Module.php b/module/Fileset/Module.php index e0a8c3ef..9d9385be 100644 --- a/module/Fileset/Module.php +++ b/module/Fileset/Module.php @@ -6,6 +6,7 @@ use Fileset\Model\FilesetTable; use Zend\Db\ResultSet\ResultSet; use Zend\Db\TableGateway\TableGateway; +use Bareos\Db\Sql\BareosSqlCompatHelper; class Module { @@ -42,7 +43,9 @@ public function getServiceConfig() $dbAdapter = $sm->get('Zend\Db\Adapter\Adapter'); $resultSetPrototype = new ResultSet(); $resultSetPrototype->setArrayObjectPrototype(new Fileset()); - return new TableGateway('fileset', $dbAdapter, null, $resultSetPrototype); + $config = $sm->get('Config'); + $bsqlch = new BareosSqlCompatHelper($config['db']['driver']); + return new TableGateway($bsqlch->strdbcompat("FileSet"), $dbAdapter, null, $resultSetPrototype); }, ), ); diff --git a/module/Fileset/src/Fileset/Model/Fileset.php b/module/Fileset/src/Fileset/Model/Fileset.php index 080da567..41ffd221 100644 --- a/module/Fileset/src/Fileset/Model/Fileset.php +++ b/module/Fileset/src/Fileset/Model/Fileset.php @@ -35,6 +35,8 @@ class Fileset public function exchangeArray($data) { + $data = array_change_key_case($data, CASE_LOWER); + $this->filesetid = (!empty($data['filesetid'])) ? $data['filesetid'] : null; $this->fileset = (!empty($data['fileset'])) ? $data['fileset'] : null; $this->md5 = (!empty($data['md5'])) ? $data['md5'] : null; diff --git a/module/Fileset/src/Fileset/Model/FilesetTable.php b/module/Fileset/src/Fileset/Model/FilesetTable.php index 5df8656f..a4bce957 100644 --- a/module/Fileset/src/Fileset/Model/FilesetTable.php +++ b/module/Fileset/src/Fileset/Model/FilesetTable.php @@ -30,8 +30,11 @@ use Zend\Db\Sql\Select; use Zend\Paginator\Adapter\DbSelect; use Zend\Paginator\Paginator; +use Zend\ServiceManager\ServiceLocatorAwareInterface; +use Zend\ServiceManager\ServiceLocatorInterface; +use Bareos\Db\Sql\BareosSqlCompatHelper; -class FilesetTable +class FilesetTable implements ServiceLocatorAwareInterface { protected $tableGateway; @@ -41,11 +44,24 @@ public function __construct(TableGateway $tableGateway) $this->tableGateway = $tableGateway; } + public function setServiceLocator(ServiceLocatorInterface $serviceLocator) { + $this->serviceLocator = $serviceLocator; + } + + public function getServiceLocator() { + return $this->serviceLocator; + } + + public function getDbDriverConfig() { + $config = $this->getServiceLocator()->get('Config'); + return $config['db']['driver']; + } + public function fetchAll($paginated=false) { - + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); $select = new Select(); - $select->from('fileset'); + $select->from($bsqlch->strdbcompat("FileSet")); if($paginated) { $resultSetPrototype = new ResultSet(); @@ -66,8 +82,10 @@ public function fetchAll($paginated=false) public function getFileset($id) { + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); $id = (int) $id; - $rowset = $this->tableGateway->select(array('filesetid' => $id)); + $rowset = $this->tableGateway->select(array( + $bsqlch->strdbcompat("FileSetId") => $id)); $row = $rowset->current(); if(!$row) { throw new \Exception("Could not find row $id"); @@ -78,11 +96,11 @@ public function getFileset($id) public function getFilesetHistory($id) { $fset = $this->getFileSet($id); - + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); $select = new Select(); - $select->from('fileset'); - $select->where("fileset = '". $fset->fileset ."'"); - $select->order('createtime DESC'); + $select->from($bsqlch->strdbcompat("FileSet")); + $select->where($bsqlch->strdbcompat("FileSet") . " = '". $fset->fileset . "'"); + $select->order($bsqlch->strdbcompat("CreateTime") . " DESC"); $resultSet = $this->tableGateway->selectWith($select); @@ -91,8 +109,9 @@ public function getFilesetHistory($id) public function getFilesetNum() { + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); $select = new Select(); - $select->from('fileset'); + $select->from($bsqlch->strdbcompat("FileSet")); $resultSetPrototype = new ResultSet(); $resultSetPrototype->setArrayObjectPrototype(new Fileset()); $rowset = new DbSelect( diff --git a/module/Job/Module.php b/module/Job/Module.php index 4a27fbee..1c54a753 100644 --- a/module/Job/Module.php +++ b/module/Job/Module.php @@ -6,6 +6,7 @@ use Job\Model\JobTable; use Zend\Db\ResultSet\ResultSet; use Zend\Db\TableGateway\TableGateway; +use Bareos\Db\Sql\BareosSqlCompatHelper; class Module { @@ -23,7 +24,9 @@ public function getServiceConfig() $dbAdapter = $sm->get('Zend\Db\Adapter\Adapter'); $resultSetPrototype = new ResultSet(); $resultSetPrototype->setArrayObjectPrototype(new Job()); - return new TableGateway('job', $dbAdapter, null, $resultSetPrototype); + $config = $sm->get('Config'); + $bsqlch = new BareosSqlCompatHelper($config['db']['driver']); + return new TableGateway($bsqlch->strdbcompat("Job"), $dbAdapter, null, $resultSetPrototype); }, ), ); diff --git a/module/Job/src/Job/Controller/JobController.php b/module/Job/src/Job/Controller/JobController.php index f2ac7712..adc641fc 100644 --- a/module/Job/src/Job/Controller/JobController.php +++ b/module/Job/src/Job/Controller/JobController.php @@ -147,7 +147,8 @@ public function cancelAction() public function getJobTable() { - if(!$this->jobTable) { + if(!$this->jobTable) + { $sm = $this->getServiceLocator(); $this->jobTable = $sm->get('Job\Model\JobTable'); } diff --git a/module/Job/src/Job/Model/Job.php b/module/Job/src/Job/Model/Job.php index fc1a0264..79534075 100644 --- a/module/Job/src/Job/Model/Job.php +++ b/module/Job/src/Job/Model/Job.php @@ -59,6 +59,8 @@ class Job public function exchangeArray($data) { + $data = array_change_key_case($data, CASE_LOWER); + $this->jobid = (!empty($data['jobid'])) ? $data['jobid'] : null; $this->job = (!empty($data['job'])) ? $data['job'] : null; $this->jobname = (!empty($data['name'])) ? $data['name'] : null; diff --git a/module/Job/src/Job/Model/JobTable.php b/module/Job/src/Job/Model/JobTable.php index 72189b80..2e910c09 100644 --- a/module/Job/src/Job/Model/JobTable.php +++ b/module/Job/src/Job/Model/JobTable.php @@ -30,22 +30,44 @@ use Zend\Db\Sql\Select; use Zend\Paginator\Adapter\DbSelect; use Zend\Paginator\Paginator; +use Zend\ServiceManager\ServiceLocatorAwareInterface; +use Zend\ServiceManager\ServiceLocatorInterface; +use Bareos\Db\Sql\BareosSqlCompatHelper; -class JobTable +class JobTable implements ServiceLocatorAwareInterface { protected $tableGateway; + protected $serviceLocator; public function __construct(TableGateway $tableGateway) { $this->tableGateway = $tableGateway; } + public function setServiceLocator(ServiceLocatorInterface $serviceLocator) { + $this->serviceLocator = $serviceLocator; + } + + public function getServiceLocator() { + return $this->serviceLocator; + } + + public function getDbDriverConfig() { + $config = $this->getServiceLocator()->get('Config'); + return $config['db']['driver']; + } + public function fetchAll($paginated=false) { + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); $select = new Select(); - $select->from('job'); - $select->join('client', 'job.clientid = client.clientid', array('clientname' => 'name')); - $select->order('job.jobid DESC'); + $select->from($bsqlch->strdbcompat("Job")); + $select->join( + $bsqlch->strdbcompat("Client"), + $bsqlch->strdbcompat("Job.ClientId = Client.ClientId"), + array($bsqlch->strdbcompat("ClientName") => $bsqlch->strdbcompat("Name")) + ); + $select->order($bsqlch->strdbcompat("Job.JobId") . " DESC"); if($paginated) { $resultSetPrototype = new ResultSet(); @@ -67,10 +89,17 @@ public function getJob($jobid) { $jobid = (int) $jobid; + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); $select = new Select(); - $select->from('job'); - $select->join('client', 'job.clientid = client.clientid', array('clientname' => 'name')); - $select->where('jobid =' . $jobid); + $select->from($bsqlch->strdbcompat("Job")); + $select->join( + $bsqlch->strdbcompat("Client"), + $bsqlch->strdbcompat("Job.ClientId = Client.ClientId"), + array($bsqlch->strdbcompat("ClientName") => $bsqlch->strdbcompat("Name")) + ); + $select->where( + $bsqlch->strdbcompat("JobId") . "=" . $jobid + ); $rowset = $this->tableGateway->selectWith($select); $row = $rowset->current(); @@ -82,11 +111,16 @@ public function getJob($jobid) public function getRunningJobs($paginated=false) { + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); $select = new Select(); - $select->from('job'); - $select->join('client', 'job.clientid = client.clientid', array('clientname' => 'name')); - $select->order('job.jobid DESC'); - $select->where("jobstatus = 'R'"); + $select->from($bsqlch->strdbcompat("Job")); + $select->join( + $bsqlch->strdbcompat("Client"), + $bsqlch->strdbcompat("Job.ClientId = Client.ClientId"), + array($bsqlch->strdbcompat("ClientName") => $bsqlch->strdbcompat("Name")) + ); + $select->order($bsqlch->strdbcompat("Job.JobId") . " DESC"); + $select->where($bsqlch->strdbcompat("JobStatus") . " = 'R'"); if($paginated) { $resultSetPrototype = new ResultSet(); @@ -107,21 +141,28 @@ public function getRunningJobs($paginated=false) public function getWaitingJobs($paginated=false) { + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); $select = new Select(); - $select->from('job'); - $select->join('client', 'job.clientid = client.clientid', array('clientname' => 'name')); - $select->order('job.jobid DESC'); - $select->where("jobstatus = 'F' OR - jobstatus = 'S' OR - jobstatus = 'm' OR - jobstatus = 'M' OR - jobstatus = 's' OR - jobstatus = 'j' OR - jobstatus = 'c' OR - jobstatus = 'd' OR - jobstatus = 't' OR - jobstatus = 'p' OR - jobstatus = 'C'"); + $select->from($bsqlch->strdbcompat("Job")); + $select->join( + $bsqlch->strdbcompat("Client"), + $bsqlch->strdbcompat("Job.ClientId = Client.ClientId"), + array($bsqlch->strdbcompat("ClientName") => $bsqlch->strdbcompat("Name")) + ); + $select->order($bsqlch->strdbcompat("Job.JobId") . " DESC"); + $select->where( + $bsqlch->strdbcompat("JobStatus") . " = 'F' OR " . + $bsqlch->strdbcompat("JobStatus") . " = 'S' OR " . + $bsqlch->strdbcompat("JobStatus") . " = 'm' OR " . + $bsqlch->strdbcompat("JobStatus") . " = 'M' OR " . + $bsqlch->strdbcompat("JobStatus") . " = 's' OR " . + $bsqlch->strdbcompat("JobStatus") . " = 'j' OR " . + $bsqlch->strdbcompat("JobStatus") . " = 'c' OR " . + $bsqlch->strdbcompat("JobStatus") . " = 'd' OR " . + $bsqlch->strdbcompat("JobStatus") . " = 't' OR " . + $bsqlch->strdbcompat("JobStatus") . " = 'p' OR " . + $bsqlch->strdbcompat("JobStatus") . " = 'C'" + ); if($paginated) { $resultSetPrototype = new ResultSet(); @@ -145,12 +186,21 @@ public function getLast24HoursSuccessfulJobs($paginated=false) $current_time = date("Y-m-d H:i:s",time()); $back24h_time = date("Y-m-d H:i:s",time() - (60*60*24)); + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); $select = new Select(); - $select->from('job'); - $select->join('client', 'job.clientid = client.clientid', array('clientname' => 'name')); - $select->order('job.jobid DESC'); - $select->where("jobstatus = 'T' AND starttime >= '" . $back24h_time . "' AND endtime >= '" . $back24h_time . "'"); - + $select->from($bsqlch->strdbcompat("Job")); + $select->join( + $bsqlch->strdbcompat("Client"), + $bsqlch->strdbcompat("Job.ClientId = Client.ClientId"), + array($bsqlch->strdbcompat("ClientName") => $bsqlch->strdbcompat("Name")) + ); + $select->order($bsqlch->strdbcompat("Job.JobId") . " DESC"); + $select->where( + $bsqlch->strdbcompat("JobStatus") . " = 'T' AND " . + $bsqlch->strdbcompat("StartTime") . " >= '" . $back24h_time . "' AND " . + $bsqlch->strdbcompat("EndTime") . " >= '" . $back24h_time . "'" + ); + if($paginated) { $resultSetPrototype = new ResultSet(); $resultSetPrototype->setArrayObjectPrototype(new Job()); @@ -173,12 +223,21 @@ public function getLast24HoursUnsuccessfulJobs($paginated=false) $current_time = date("Y-m-d H:i:s",time()); $back24h_time = date("Y-m-d H:i:s",time() - (60*60*24)); + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); $select = new Select(); - $select->from('job'); - $select->join('client', 'job.clientid = client.clientid', array('clientname' => 'name')); - $select->order('job.jobid DESC'); - $select->where("jobstatus != 'T' AND starttime >= '" . $back24h_time . "' AND endtime >= '" . $back24h_time . "'"); - + $select->from($bsqlch->strdbcompat("Job")); + $select->join( + $bsqlch->strdbcompat("Client"), + $bsqlch->strdbcompat("Job.ClientId = Client.ClientId"), + array($bsqlch->strdbcompat("ClientName") => $bsqlch->strdbcompat("Name")) + ); + $select->order($bsqlch->strdbcompat("Job.JobId") . " DESC"); + $select->where( + $bsqlch->strdbcompat("JobStatus") . " != 'T' AND " . + $bsqlch->strdbcompat("StartTime") . " >= '" . $back24h_time . "' AND " . + $bsqlch->strdbcompat("EndTime") . " >= '" . $back24h_time . "'" + ); + if($paginated) { $resultSetPrototype = new ResultSet(); $resultSetPrototype->setArrayObjectPrototype(new Job()); @@ -201,92 +260,176 @@ public function getJobCountLast24HoursByStatus($status) $current_time = date("Y-m-d H:i:s",time()); $back24h_time = date("Y-m-d H:i:s",time() - (60*60*23)); + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); $select = new Select(); - $select->from('job'); + $select->from($bsqlch->strdbcompat("Job")); if($status == "C") { - $select->where("jobstatus = 'C' AND schedtime >= '" . $back24h_time . "'"); + $select->where( + $bsqlch->strdbcompat("JobStatus") . " = 'C' AND " . + $bsqlch->strdbcompat("SchedTime") . " >= '" . $back24h_time . "'" + ); } if($status == "B") { - $select->where("jobstatus = 'B' AND starttime >= '" . $back24h_time . "' AND endtime >= '" . $back24h_time . "'"); + $select->where( + $bsqlch->strdbcompat("JobStatus") . " = 'B' AND " . + $bsqlch->strdbcompat("StartTime") . " >= '" . $back24h_time . "' AND " . + $bsqlch->strdbcompat("EndTime") . " >= '" . $back24h_time . "'" + ); } if($status == "T") { - $select->where("jobstatus = 'T' AND starttime >= '" . $back24h_time . "' AND endtime >= '" . $back24h_time . "'"); + $select->where( + $bsqlch->strdbcompat("JobStatus") . " = 'T' AND " . + $bsqlch->strdbcompat("StartTime") . " >= '" . $back24h_time . "' AND " . + $bsqlch->strdbcompat("EndTime") . " >= '" . $back24h_time . "'" + ); } if($status == "R") { - $select->where("jobstatus = 'R' AND starttime >= '" . $back24h_time . "' AND endtime >= '" . $back24h_time . "'"); + $select->where( + $bsqlch->strdbcompat("JobStatus") . " = 'R' AND " . + $bsqlch->strdbcompat("StartTime") . " >= '" . $back24h_time . "' AND " . + $bsqlch->strdbcompat("EndTime") . " >= '" . $back24h_time . "'" + ); } if($status == "E") { - $select->where("jobstatus = 'E' AND starttime >= '" . $back24h_time . "' AND endtime >= '" . $back24h_time . "'"); + $select->where( + $bsqlch->strdbcompat("JobStatus") . " = 'E' AND " . + $bsqlch->strdbcompat("StartTime") . " >= '" . $back24h_time . "' AND " . + $bsqlch->strdbcompat("EndTime") . " >= '" . $back24h_time . "'" + ); } if($status == "e") { - $select->where("jobstatus = 'e' AND starttime >= '" . $back24h_time . "' AND endtime >= '" . $back24h_time . "'"); + $select->where( + $bsqlch->strdbcompat("JobStatus") . " = 'e' AND " . + $bsqlch->strdbcompat("StartTime") . " >= '" . $back24h_time . "' AND " . + $bsqlch->strdbcompat("EndTime") . " >= '" . $back24h_time . "'" + ); } if($status == "f") { - $select->where("jobstatus = 'f' AND starttime >= '" . $back24h_time . "' AND endtime >= '" . $back24h_time . "'"); + $select->where( + $bsqlch->strdbcompat("JobStatus") . " = 'f' AND " . + $bsqlch->strdbcompat("StartTime") . " >= '" . $back24h_time . "' AND " . + $bsqlch->strdbcompat("EndTime") . " >= '" . $back24h_time . "'" + ); } if($status == "A") { - $select->where("jobstatus = 'A' AND starttime >= '" . $back24h_time . "' AND endtime >= '" . $back24h_time . "'"); + $select->where( + $bsqlch->strdbcompat("JobStatus") . " = 'A' AND " . + $bsqlch->strdbcompat("StartTime") . " >= '" . $back24h_time . "' AND " . + $bsqlch->strdbcompat("EndTime") . " >= '" . $back24h_time . "'" + ); } if($status == "D") { - $select->where("jobstatus = 'D' AND starttime >= '" . $back24h_time . "' AND endtime >= '" . $back24h_time . "'"); + $select->where( + $bsqlch->strdbcompat("JobStatus") . " = 'D' AND " . + $bsqlch->strdbcompat("StartTime") . " >= '" . $back24h_time . "' AND " . + $bsqlch->strdbcompat("EndTime") . " >= '" . $back24h_time . "'" + ); } if($status == "F") { - $select->where("jobstatus = 'F' AND starttime >= '" . $back24h_time . "' AND endtime >= '" . $back24h_time . "'"); + $select->where( + $bsqlch->strdbcompat("JobStatus") . " = 'F' AND " . + $bsqlch->strdbcompat("StartTime") . " >= '" . $back24h_time . "' AND " . + $bsqlch->strdbcompat("EndTime") . " >= '" . $back24h_time . "'" + ); } if($status == "S") { - $select->where("jobstatus = 'S' AND starttime >= '" . $back24h_time . "' AND endtime >= '" . $back24h_time . "'"); + $select->where( + $bsqlch->strdbcompat("JobStatus") . " = 'S' AND " . + $bsqlch->strdbcompat("StartTime") . " >= '" . $back24h_time . "' AND " . + $bsqlch->strdbcompat("EndTime") . " >= '" . $back24h_time . "'" + ); } if($status == "m") { - $select->where("jobstatus = 'm' AND starttime >= '" . $back24h_time . "' AND endtime >= '" . $back24h_time . "'"); + $select->where( + $bsqlch->strdbcompat("JobStatus") . " = 'm' AND " . + $bsqlch->strdbcompat("StartTime") . " >= '" . $back24h_time . "' AND " . + $bsqlch->strdbcompat("EndTime") . " >= '" . $back24h_time . "'" + ); } if($status == "M") { - $select->where("jobstatus = 'M' AND starttime >= '" . $back24h_time . "' AND endtime >= '" . $back24h_time . "'"); + $select->where( + $bsqlch->strdbcompat("JobStatus") . " = 'M' AND " . + $bsqlch->strdbcompat("StartTime") . " >= '" . $back24h_time . "' AND " . + $bsqlch->strdbcompat("EndTime") . " >= '" . $back24h_time . "'" + ); } if($status == "s") { - $select->where("jobstatus = 's' AND starttime >= '" . $back24h_time . "' AND endtime >= '" . $back24h_time . "'"); + $select->where( + $bsqlch->strdbcompat("JobStatus") . " = 's' AND " . + $bsqlch->strdbcompat("StartTime") . " >= '" . $back24h_time . "' AND " . + $bsqlch->strdbcompat("EndTime") . " >= '" . $back24h_time . "'" + ); } if($status == "j") { - $select->where("jobstatus = 'j' AND starttime >= '" . $back24h_time . "' AND endtime >= '" . $back24h_time . "'"); + $select->where( + $bsqlch->strdbcompat("JobStatus") . " = 'j' AND " . + $bsqlch->strdbcompat("StartTime") . " >= '" . $back24h_time . "' AND " . + $bsqlch->strdbcompat("EndTime") . " >= '" . $back24h_time . "'" + ); } if($status == "c") { - $select->where("jobstatus = 'c' AND starttime >= '" . $back24h_time . "' AND endtime >= '" . $back24h_time . "'"); + $select->where( + $bsqlch->strdbcompat("JobStatus") . " = 'c' AND " . + $bsqlch->strdbcompat("StartTime") . " >= '" . $back24h_time . "' AND " . + $bsqlch->strdbcompat("EndTime") . " >= '" . $back24h_time . "'" + ); } if($status == "d") { - $select->where("jobstatus = 'd' AND starttime >= '" . $back24h_time . "' AND endtime >= '" . $back24h_time . "'"); + $select->where( + $bsqlch->strdbcompat("JobStatus") . " = 'd' AND " . + $bsqlch->strdbcompat("StartTime") . " >= '" . $back24h_time . "' AND " . + $bsqlch->strdbcompat("EndTime") . " >= '" . $back24h_time . "'" + ); } if($status == "t") { - $select->where("jobstatus = 't' AND starttime >= '" . $back24h_time . "' AND endtime >= '" . $back24h_time . "'"); + $select->where( + $bsqlch->strdbcompat("JobStatus") . " = 't' AND " . + $bsqlch->strdbcompat("StartTime") . " >= '" . $back24h_time . "' AND " . + $bsqlch->strdbcompat("EndTime") . " >= '" . $back24h_time . "'" + ); } if($status == "p") { - $select->where("jobstatus = 'p' AND starttime >= '" . $back24h_time . "' AND endtime >= '" . $back24h_time . "'"); + $select->where( + $bsqlch->strdbcompat("JobStatus") . " = 'p' AND " . + $bsqlch->strdbcompat("StartTime") . " >= '" . $back24h_time . "' AND " . + $bsqlch->strdbcompat("EndTime") . " >= '" . $back24h_time . "'" + ); } if($status == "a") { - $select->where("jobstatus = 'a' AND starttime >= '" . $back24h_time . "' AND endtime >= '" . $back24h_time . "'"); + $select->where( + $bsqlch->strdbcompat("JobStatus") . " = 'a' AND " . + $bsqlch->strdbcompat("StartTime") . " >= '" . $back24h_time . "' AND " . + $bsqlch->strdbcompat("EndTime") . " >= '" . $back24h_time . "'" + ); } if($status == "i") { - $select->where("jobstatus = 'i' AND starttime >= '" . $back24h_time . "' AND endtime >= '" . $back24h_time . "'"); + $select->where( + $bsqlch->strdbcompat("JobStatus") . " = 'i' AND " . + $bsqlch->strdbcompat("StartTime") . " >= '" . $back24h_time . "' AND " . + $bsqlch->strdbcompat("EndTime") . " >= '" . $back24h_time . "'" + ); } $resultSetPrototype = new ResultSet(); @@ -303,8 +446,9 @@ public function getJobCountLast24HoursByStatus($status) public function getJobNum() { + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); $select = new Select(); - $select->from('job'); + $select->from($bsqlch->strdbcompat("Job")); $resultSetPrototype = new ResultSet(); $resultSetPrototype->setArrayObjectPrototype(new Job()); $rowset = new DbSelect( @@ -318,10 +462,14 @@ public function getJobNum() public function getLastSuccessfulClientJob($id) { + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); $select = new Select(); - $select->from('job'); - $select->where("clientid = " . $id . " AND jobstatus = 'T'"); - $select->order('jobid DESC'); + $select->from($bsqlch->strdbcompat("Job")); + $select->where( + $bsqlch->strdbcompat("ClientId") . " = " . $id . " AND " . + $bsqlch->strdbcompat("JobStatus") . " = 'T'" + ); + $select->order($bsqlch->strdbcompat("JobId") . " DESC"); $select->limit(1); $rowset = $this->tableGateway->selectWith($select); @@ -339,11 +487,20 @@ public function getStoredBytes7Days() $end = date("Y-m-d H:i:s",time()); $start = date("Y-m-d H:i:s",time() - (60*60*23*7)); + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); $select = new Select(); - $select->from('job'); - $select->columns(array('endtime','jobbytes'), true); - $select->where("endtime >= '" . $start . "' AND endtime <= '" . $end . "'"); - $select->order('endtime ASC'); + $select->from($bsqlch->strdbcompat("Job")); + $select->columns(array( + $bsqlch->strdbcompat("EndTime"), + $bsqlch->strdbcompat("JobBytes"), + true + ) + ); + $select->where( + $bsqlch->strdbcompat("EndTime") . " >= '" . $start . "' AND " . + $bsqlch->strdbcomapt("EndTime") . " <= '" . $end . "'" + ); + $select->order($bsqlch->strdbcompat("EndTime" . " ASC")); $resultSet = $this->tableGateway->selectWith($select); return $resultSet; @@ -351,9 +508,9 @@ public function getStoredBytes7Days() public function getStoredBytes14Days() { + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); $select = new Select(); - $select->from('job'); - + $select->from($bsqlch->strdbcompat("Job")); $resultSet = $this->tableGateway->selectWith($select); return $resultSet; diff --git a/module/Log/Module.php b/module/Log/Module.php index 32c8f1fa..d43fa609 100644 --- a/module/Log/Module.php +++ b/module/Log/Module.php @@ -6,6 +6,7 @@ use Log\Model\LogTable; use Zend\Db\ResultSet\ResultSet; use Zend\Db\TableGateway\TableGateway; +use Bareos\Db\Sql\BareosSqlCompatHelper; class Module { @@ -23,7 +24,9 @@ public function getServiceConfig() $dbAdapter = $sm->get('Zend\Db\Adapter\Adapter'); $resultSetPrototype = new ResultSet(); $resultSetPrototype->setArrayObjectPrototype(new Log()); - return new TableGateway('log', $dbAdapter, null, $resultSetPrototype); + $config = $sm->get('Config'); + $bsqlch = new BareosSqlCompatHelper($config['db']['driver']); + return new TableGateway($bsqlch->strdbcompat("Log"), $dbAdapter, null, $resultSetPrototype); }, ), ); diff --git a/module/Log/src/Log/Model/Log.php b/module/Log/src/Log/Model/Log.php index 18339498..02e32e2c 100644 --- a/module/Log/src/Log/Model/Log.php +++ b/module/Log/src/Log/Model/Log.php @@ -12,6 +12,8 @@ class Log public function exchangeArray($data) { + $data = array_change_key_case($data, CASE_LOWER); + $this->logid = (!empty($data['logid'])) ? $data['logid'] : null; $this->jobid = (!empty($data['jobid'])) ? $data['jobid'] : null; $this->time = (!empty($data['time'])) ? $data['time'] : null; diff --git a/module/Log/src/Log/Model/LogTable.php b/module/Log/src/Log/Model/LogTable.php index 6718316d..537e9e01 100644 --- a/module/Log/src/Log/Model/LogTable.php +++ b/module/Log/src/Log/Model/LogTable.php @@ -7,21 +7,39 @@ use Zend\Db\Sql\Select; use Zend\Paginator\Adapter\DbSelect; use Zend\Paginator\Paginator; +use Zend\ServiceManager\ServiceLocatorAwareInterface; +use Zend\ServiceManager\ServiceLocatorInterface; +use Bareos\Db\Sql\BareosSqlCompatHelper; -class LogTable +class LogTable implements ServiceLocatorAwareInterface { protected $tableGateway; + protected $serviceLocator; public function __construct(TableGateway $tableGateway) { $this->tableGateway = $tableGateway; } + public function setServiceLocator(ServiceLocatorInterface $serviceLocator) { + $this->serviceLocator = $serviceLocator; + } + + public function getServiceLocator() { + return $this->serviceLocator; + } + + public function getDbDriverConfig() { + $config = $this->getServiceLocator()->get('Config'); + return $config['db']['driver']; + } + public function fetchAll($paginated=false) { if($paginated) { - $select = new Select('log'); - $select->order('logid DESC'); + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); + $select = new Select($bsqlch->strdbcompat("Log")); + $select->order($bsqlch->strdbcompat("LogId") . " DESC"); $resultSetPrototype = new ResultSet(); $resultSetPrototype->setArrayObjectPrototype(new Log()); $paginatorAdapter = new DbSelect( @@ -40,7 +58,10 @@ public function fetchAll($paginated=false) public function getLog($logid) { $logid = (int) $logid; - $rowset = $this->tableGateway->select(array('logid' => $logid)); + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); + $rowset = $this->tableGateway->select(array( + $bsqlch->strdbcompat("LogId") => $logid) + ); $row = $rowset->current(); if(!$row) { throw new \Exception("Could not find row $logid"); @@ -53,10 +74,11 @@ public function getLogsByJob($id) $jobid = (int) $id; + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); $select = new Select(); - $select->from('log'); - $select->where('jobid = ' . $jobid); - $select->order('logid DESC'); + $select->from($bsqlch->strdbcompat("Log")); + $select->where($bsqlch->strdbcompat("JobId") . " = " . $jobid); + $select->order($bsqlch->strdbcompat("LogId") . " DESC"); $resultSet = $this->tableGateway->selectWith($select); @@ -66,8 +88,9 @@ public function getLogsByJob($id) public function getLogNum() { + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); $select = new Select(); - $select->from('log'); + $select->from($bsqlch->strdbcompat("Log")); $resultSetPrototype = new ResultSet(); $resultSetPrototype->setArrayObjectPrototype(new Log()); $rowset = new DbSelect( diff --git a/module/Media/Module.php b/module/Media/Module.php index ad5b6c48..a3e34dc6 100644 --- a/module/Media/Module.php +++ b/module/Media/Module.php @@ -6,6 +6,7 @@ use Media\Model\MediaTable; use Zend\Db\ResultSet\ResultSet; use Zend\Db\TableGateway\TableGateway; +use Bareos\Db\Sql\BareosSqlCompatHelper; class Module { @@ -42,7 +43,9 @@ public function getServiceConfig() $dbAdapter = $sm->get('Zend\Db\Adapter\Adapter'); $resultSetPrototype = new ResultSet(); $resultSetPrototype->setArrayObjectPrototype(new Media()); - return new TableGateway('media', $dbAdapter, null, $resultSetPrototype); + $config = $sm->get('Config'); + $bsqlch = new BareosSqlCompatHelper($config['db']['driver']); + return new TableGateway($bsqlch->strdbcompat("Media"), $dbAdapter, null, $resultSetPrototype); }, ), ); diff --git a/module/Media/src/Media/Model/Media.php b/module/Media/src/Media/Model/Media.php index c4307ade..673f79a5 100644 --- a/module/Media/src/Media/Model/Media.php +++ b/module/Media/src/Media/Model/Media.php @@ -73,6 +73,8 @@ class Media public function exchangeArray($data) { + $data = array_change_key_case($data, CASE_LOWER); + $this->mediaid = (!empty($data['mediaid'])) ? $data['mediaid'] : null; $this->volumename = (!empty($data['volumename'])) ? $data['volumename'] : null; $this->slot = (!empty($data['slot'])) ? $data['slot'] : null; diff --git a/module/Media/src/Media/Model/MediaTable.php b/module/Media/src/Media/Model/MediaTable.php index 7baebd49..b17557d8 100644 --- a/module/Media/src/Media/Model/MediaTable.php +++ b/module/Media/src/Media/Model/MediaTable.php @@ -31,22 +31,40 @@ use Zend\Db\Sql\Sql; use Zend\Paginator\Adapter\DbSelect; use Zend\Paginator\Paginator; +use Zend\ServiceManager\ServiceLocatorAwareInterface; +use Zend\ServiceManager\ServiceLocatorInterface; +use Bareos\Db\Sql\BareosSqlCompatHelper; -class MediaTable +class MediaTable implements ServiceLocatorAwareInterface { protected $tableGateway; + protected $serviceLocator; public function __construct(TableGateway $tableGateway) { $this->tableGateway = $tableGateway; } + public function setServiceLocator(ServiceLocatorInterface $serviceLocator) { + $this->serviceLocator = $serviceLocator; + } + + public function getServiceLocator() { + return $this->serviceLocator; + } + + public function getDbDriverConfig() { + $config = $this->getServiceLocator()->get('Config'); + return $config['db']['driver']; + } + public function fetchAll($paginated=false) { if($paginated) { - $select = new Select('media'); - $select->order('mediaid ASC'); + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); + $select = new Select($bsqlch->strdbcompat("Media")); + $select->order($bsqlch->strdbcompat("MediaId") . " ASC"); $resultSetPrototype = new ResultSet(); $resultSetPrototype->setArrayObjectPrototype(new Media()); $paginatorAdapter = new DbSelect( @@ -65,9 +83,10 @@ public function getMedia($id) { $mediaid = (int) $id; + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); $select = new Select(); - $select->from('media'); - $select->where('mediaid = ' . $mediaid); + $select->from($bsqlch->strdbcompat("Media")); + $select->where($bsqlch->strdbcompat("MediaId") . " = " . $mediaid); $resultSet = $this->tableGateway->selectWith($select); $row = $resultSet->current(); @@ -77,8 +96,10 @@ public function getMedia($id) public function getMediaNum() { + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); $select = new Select(); - $select->from('media'); + $select->from($bsqlch->strdbcompat("Media")); + $resultSetPrototype = new ResultSet(); $resultSetPrototype->setArrayObjectPrototype(new Media()); $rowset = new DbSelect( @@ -87,6 +108,7 @@ public function getMediaNum() $resultSetPrototype ); $num = $rowset->count(); + return $num; } @@ -94,10 +116,11 @@ public function getPoolVolumes($id) { $poolid = (int) $id; + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); $select = new Select(); - $select->from('media'); - $select->where('poolid = ' . $poolid); - $select->order('mediaid ASC'); + $select->from($bsqlch->strdbcompat("Media")); + $select->where($bsqlch->strdbcompat("PoolId") . " = " . $poolid); + $select->order($bsqlch->strdbcompat("MediaId") . " ASC"); $resultSet = $this->tableGateway->selectWith($select); diff --git a/module/Pool/Module.php b/module/Pool/Module.php index 0803f807..d4c9d8ca 100644 --- a/module/Pool/Module.php +++ b/module/Pool/Module.php @@ -6,6 +6,7 @@ use Pool\Model\PoolTable; use Zend\Db\ResultSet\ResultSet; use Zend\Db\TableGateway\TableGateway; +use Bareos\Db\Sql\BareosSqlCompatHelper; class Module { @@ -42,7 +43,9 @@ public function getServiceConfig() $dbAdapter = $sm->get('Zend\Db\Adapter\Adapter'); $resultSetPrototype = new ResultSet(); $resultSetPrototype->setArrayObjectPrototype(new Pool()); - return new TableGateway('pool', $dbAdapter, null, $resultSetPrototype); + $config = $sm->get('Config'); + $bsqlch = new BareosSqlCompatHelper($config['db']['driver']); + return new TableGateway($bsqlch->strdbcompat("Pool"), $dbAdapter, null, $resultSetPrototype); }, ), ); diff --git a/module/Pool/src/Pool/Model/Pool.php b/module/Pool/src/Pool/Model/Pool.php index afc81f8a..7636ee79 100644 --- a/module/Pool/src/Pool/Model/Pool.php +++ b/module/Pool/src/Pool/Model/Pool.php @@ -56,6 +56,8 @@ class Pool public function exchangeArray($data) { + $data = array_change_key_case($data, CASE_LOWER); + $this->poolid = (!empty($data['poolid'])) ? $data['poolid'] : null; $this->name = (!empty($data['name'])) ? $data['name'] : null; $this->numvols = (!empty($data['numvols'])) ? $data['numvols'] : null; diff --git a/module/Pool/src/Pool/Model/PoolTable.php b/module/Pool/src/Pool/Model/PoolTable.php index fc30bb46..e1a485fc 100644 --- a/module/Pool/src/Pool/Model/PoolTable.php +++ b/module/Pool/src/Pool/Model/PoolTable.php @@ -29,19 +29,37 @@ use Zend\Db\TableGateway\TableGateway; use Zend\Db\Sql\Select; use Zend\Paginator\Adapter\DbSelect; +use Zend\ServiceManager\ServiceLocatorAwareInterface; +use Zend\ServiceManager\ServiceLocatorInterface; +use Bareos\Db\Sql\BareosSqlCompatHelper; -class PoolTable +class PoolTable implements ServiceLocatorAwareInterface { protected $tableGateway; + protected $serviceLocator; public function __construct(TableGateway $tableGateway) { $this->tableGateway = $tableGateway; } + public function setServiceLocator(ServiceLocatorInterface $serviceLocator) { + $this->serviceLocator = $serviceLocator; + } + + public function getServiceLocator() { + return $this->serviceLocator; + } + + public function getDbDriverConfig() { + $config = $this->getServiceLocator()->get('Config'); + return $config['db']['driver']; + } + public function fetchAll() { + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); $resultSet = $this->tableGateway->select(); return $resultSet; } @@ -49,7 +67,12 @@ public function fetchAll() public function getPool($id) { $id = (int) $id; - $rowset = $this->tableGateway->select(array('poolid' => $id)); + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); + $rowset = $this->tableGateway->select( + array( + $bsqlch->strdbcompat("PoolId") => $id + ) + ); $row = $rowset->current(); if(!$row) { throw new \Exception("Could not find row $id"); @@ -59,8 +82,9 @@ public function getPool($id) public function getPoolNum() { + $bsqlch = new BareosSqlCompatHelper($this->getDbDriverConfig()); $select = new Select(); - $select->from('pool'); + $select->from($bsqlch->strdbcompat("Pool")); $resultSetPrototype = new ResultSet(); $resultSetPrototype->setArrayObjectPrototype(new Pool()); $rowset = new DbSelect( diff --git a/module/Storage/Module.php b/module/Storage/Module.php index a1195711..79eba1e0 100644 --- a/module/Storage/Module.php +++ b/module/Storage/Module.php @@ -6,6 +6,7 @@ use Storage\Model\StorageTable; use Zend\Db\ResultSet\ResultSet; use Zend\Db\TableGateway\TableGateway; +use Bareos\Db\Sql\BareosSqlCompatHelper; class Module { @@ -42,7 +43,9 @@ public function getServiceConfig() $dbAdapter = $sm->get('Zend\Db\Adapter\Adapter'); $resultSetPrototype = new ResultSet(); $resultSetPrototype->setArrayObjectPrototype(new Storage()); - return new TableGateway('storage', $dbAdapter, null, $resultSetPrototype); + $config = $sm->get('Config'); + $bsqlch = new BareosSqlCompatHelper($config['db']['driver']); + return new TableGateway($bsqlch->strdbcompat("Storage"), $dbAdapter, null, $resultSetPrototype); }, ), ); diff --git a/vendor/Bareos/library/Bareos/Db/Sql/BareosSqlCompatHelper.php b/vendor/Bareos/library/Bareos/Db/Sql/BareosSqlCompatHelper.php new file mode 100644 index 00000000..b9970231 --- /dev/null +++ b/vendor/Bareos/library/Bareos/Db/Sql/BareosSqlCompatHelper.php @@ -0,0 +1,28 @@ +dbDriverConfig = $dbDriverConfig; + } + + public function strdbcompat($str) + { + // PostgreSQL + if($this->dbDriverConfig == "Pdo_Pgsql" || $this->dbDriverConfig == "Pgsql") { + $str = strtolower($str); + } + // MySQL + if($this->dbDriverConfig == "Pdo_Mysql" || $this->dbDriverConfig == "Mysqli") { + return $str; + } + return $str; + } + +}