File indexing completed on 2024-06-09 05:50:02

0001 <?php
0002 
0003 /**
0004  *  ocs-apiserver
0005  *
0006  *  Copyright 2016 by pling GmbH.
0007  *
0008  *    This file is part of ocs-apiserver.
0009  *
0010  *    This program is free software: you can redistribute it and/or modify
0011  *    it under the terms of the GNU Affero General Public License as
0012  *    published by the Free Software Foundation, either version 3 of the
0013  *    License, or (at your option) any later version.
0014  *
0015  *    This program is distributed in the hope that it will be useful,
0016  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
0017  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0018  *    GNU Affero General Public License for more details.
0019  *
0020  *    You should have received a copy of the GNU Affero General Public License
0021  *    along with this program.  If not, see <http://www.gnu.org/licenses/>.
0022  **/
0023 class Local_Queue_Factory
0024 {
0025 
0026     /**
0027      * @param $queueName
0028      *
0029      * @return Zend_Queue
0030      * @deprecated
0031      */
0032     public static function createQueue($queueName)
0033     {
0034         $config = Zend_Registry::get('config');
0035         $queueConfig = $config->queue->$queueName;
0036 
0037         return self::_initQueue($queueConfig);
0038     }
0039 
0040     /**
0041      * @param $config
0042      *
0043      * @return Zend_Queue
0044      * @deprecated
0045      */
0046     protected static function _initQueue($config)
0047     {
0048         $queueName = $config->name;
0049         $dbAdapter = $config->dbAdapter ? $config->dbAdapter : 'Db';
0050         $configAll = Zend_Registry::get('config');
0051         $configDb = $configAll->resources->db->params;
0052         $queueAdapter = new $dbAdapter(array('driverOptions' => $configDb->toArray()));
0053 
0054         return new Zend_Queue($queueAdapter, array('name' => $queueName, 'driverOptions' => $configDb->toArray()));
0055     }
0056 
0057     /**
0058      * @param string $identifier
0059      *
0060      * @return Zend_Queue
0061      * @throws Zend_Exception
0062      */
0063     public static function getQueue($identifier = null)
0064     {
0065         /** @var Zend_Config $configAll */
0066         $configAll = Zend_Registry::get('config');
0067         $configDb = $configAll->resources->db->params->toArray();
0068         Zend_Registry::get('logger')->info(__METHOD__ . ' - db config:' . print_r($configDb, true));
0069         $nameQueue = isset($identifier) ? $identifier : Zend_Registry::get('config')->settings->queue->general->name;
0070         $queueAdapter = new Local_Queue_Adapter_Db(array('driverOptions' => $configDb));
0071 
0072         return new Zend_Queue($queueAdapter, array(Zend_Queue::NAME => $nameQueue, 'driverOptions' => $configDb));
0073     }
0074 
0075 }