Warning, file /webapps/ocs-webserver/application/modules/default/views/helpers/BuildBaseUrlStore.php was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

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 Default_View_Helper_BuildBaseUrlStore extends Zend_View_Helper_Abstract
0024 {
0025 
0026     /**
0027      * @param string $action
0028      * @param array  $params
0029      * @param string $scheme
0030      *
0031      * @return string
0032      * @throws Zend_Exception
0033      */
0034     public function buildBaseUrlStore($action = '', $params = null, $scheme = null)
0035     {
0036         /** @var Zend_Controller_Request_Http $request */
0037         $request = Zend_Controller_Front::getInstance()->getRequest();
0038 
0039         $http_host = $request->getHttpHost();
0040         $http_scheme = isset($scheme) ? $scheme : $request->getScheme();
0041         $host = $http_scheme . '://' . $http_host;
0042 
0043         $storeId = null;
0044         if (false === isset($params['store_id'])) {
0045             if ($request->getParam('domain_store_id')) {
0046                 $storeId = '/s/' . $request->getParam('domain_store_id');
0047             }
0048         } else {
0049             $storeId = "/s/{$params['store_id']}";
0050             unset($params['store_id']);
0051         }
0052 
0053         $storeConfig = Zend_Registry::isRegistered('store_config') ? Zend_Registry::get('store_config') : null;
0054 
0055         $baseurl = "{$host}{$storeId}";
0056         if (null != $storeConfig && $storeConfig->stay_in_context == false) {
0057             $baseurl = Zend_Registry::get('config')->settings->client->default->baseurl_store;
0058         }
0059 
0060         $url_param = '';
0061         if (is_array($params)) {
0062             array_walk($params, create_function('&$i,$k', '$i="$k/$i/";'));
0063             $url_param = implode('/', $params);
0064         }
0065 
0066         return "{$baseurl}/{$action}{$url_param}";
0067     }
0068 
0069    
0070 
0071 }