File indexing completed on 2024-05-12 06:02:11

0001 <?php
0002 
0003 /**
0004  *  ocs-webserver
0005  *
0006  *  Copyright 2016 by pling GmbH.
0007  *
0008  *    This file is part of ocs-webserver.
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      * @throws Zend_Exception
0031      * @deprecated
0032      */
0033     public static function createQueue($queueName)
0034     {
0035         $config = Zend_Registry::get('config');
0036         $queueConfig = $config->queue->$queueName;
0037 
0038         return self::_initQueue($queueConfig);
0039     }
0040 
0041     /**
0042      * @param $config
0043      *
0044      * @return Zend_Queue
0045      * @throws Zend_Exception
0046      * @throws Zend_Queue_Exception
0047      * @deprecated
0048      */
0049     protected static function _initQueue($config)
0050     {
0051         $queueName = $config->name;
0052         $dbAdapter = $config->dbAdapter ? $config->dbAdapter : 'Db';
0053         $configAll = Zend_Registry::get('config');
0054         $configDb = $configAll->resources->db->params;
0055         $queueAdapter = new $dbAdapter(array('driverOptions' => $configDb->toArray()));
0056 
0057         return new Zend_Queue($queueAdapter, array('name' => $queueName, 'driverOptions' => $configDb->toArray()));
0058     }
0059 
0060     /**
0061      * @param string $identifier
0062      *
0063      * @return Zend_Queue
0064      * @throws Zend_Exception
0065      */
0066     public static function getQueue($identifier = null)
0067     {
0068         /** @var Zend_Config $configAll */
0069         $configAll = Zend_Registry::get('config');
0070         $configDb = $configAll->resources->db->params->toArray();
0071         $nameQueue = isset($identifier) ? $identifier : Zend_Registry::get('config')->settings->queue->general->name;
0072         $queueAdapter = new Local_Queue_Adapter_Db(array('driverOptions' => $configDb));
0073 
0074         return new Zend_Queue($queueAdapter, array(Zend_Queue::NAME => $nameQueue, 'driverOptions' => $configDb));
0075     }
0076 
0077 }