File indexing completed on 2025-05-04 05:29:14
0001 <?php 0002 /** 0003 * ocs-webserver 0004 * 0005 * Copyright 2016 by pling GmbH. 0006 * 0007 * This file is part of ocs-webserver. 0008 * 0009 * This program is free software: you can redistribute it and/or modify 0010 * it under the terms of the GNU Affero General Public License as 0011 * published by the Free Software Foundation, either version 3 of the 0012 * License, or (at your option) any later version. 0013 * 0014 * This program is distributed in the hope that it will be useful, 0015 * but WITHOUT ANY WARRANTY; without even the implied warranty of 0016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0017 * GNU Affero General Public License for more details. 0018 * 0019 * You should have received a copy of the GNU Affero General Public License 0020 * along with this program. If not, see <http://www.gnu.org/licenses/>. 0021 **/ 0022 0023 class Default_View_Helper_FetchDomains extends Zend_View_Helper_Abstract 0024 { 0025 const CACHE_DOMAIN_OBJECTS = 'helper_domain_objects'; 0026 0027 public function fetchDomainObjects() 0028 { 0029 0030 /** @var Zend_Cache_Core $cache */ 0031 $cache = Zend_Registry::get('cache'); 0032 $cacheName = self::CACHE_DOMAIN_OBJECTS; 0033 0034 0035 if (false == ($domainobjects = $cache->load($cacheName))) { 0036 0037 $tbl = new Default_Model_DbTable_ConfigStore(); 0038 $result = $tbl->fetchDomainObjects(); 0039 // sort Desktop in front 0040 $arrayDesktop = array(); 0041 $arrayRest = array(); 0042 foreach ($result as $obj) { 0043 $o = $obj['order']; 0044 $curOrder = floor($obj['order'] / 1000); 0045 if ($curOrder < 10 or $curOrder > 50) { 0046 continue; 0047 } 0048 $obj['calcOrder'] = $curOrder; 0049 if ($curOrder == 30) { 0050 // Desktop set calcOrder = 9 manuelly put desktop in front 0051 $obj['calcOrder'] = 9; 0052 $arrayDesktop[] = $obj; 0053 } else { 0054 $arrayRest[] = $obj; 0055 } 0056 } 0057 $domainobjects = array_merge($arrayDesktop, $arrayRest); 0058 $cache->save($domainobjects, $cacheName, array(), 28800); 0059 } 0060 0061 return $domainobjects; 0062 } 0063 0064 }