/** * Get result from cache or execute database query * * @param array $config query and cache parameters * @param ServiceLocatorInterface $sl * @return multitype:NULL */ protected function queryDbCacheResult($config, $sl) { $result = array(); $cache = $sl->get(static::CONTENTINUM_CACHE); $key = $config['cache']; if (!($result = $cache->getItem($key))) { $worker = new Worker($sl->get($config['entitymanager'])); $worker->setEntity($config['entity']); $entries = $worker->getStorage()->getRepository($worker->getEntityName())->findBy(array('publish' => 'yes'), array('itemRang' => 'ASC')); $i = 1; foreach ($entries as $entry) { $metas = array(); $metas['rel'] = $entry->metaRel ? $entry->metaRel : false; $metas['type'] = $entry->metaType ? $entry->metaType : false; $metas['title'] = $entry->metaTitle ? $entry->metaTitle : false; $metas['content'] = $entry->metaContent ? $entry->metaContent : false; if (1 !== $entry->webMedias->id) { $metas['href'] = $entry->webMedias->mediaLink; $metas['sizes'] = $entry->webMedias->mediaDimensions; } else { $metas['href'] = $entry->metaLink; } $result[$entry->webPages->id][] = $metas; $i++; } if (isset($config['savecache']) && true === $config['savecache']) { $cache->setItem($key, $result); } } if (null === $result) { $result = array(); } return $result; }
/** * (non-PHPdoc) * * @see \Contentinum\Service\WebsiteServiceFactory::queryDbCacheResult() */ protected function queryDbCacheResult($config, $sl) { $result = array(); $cache = $sl->get(static::CONTENTINUM_CACHE); $key = $config['cache']; if (!($result = $cache->getItem($key))) { try { $worker = new Worker($sl->get($config['entitymanager'])); $repos = $worker->getStorage()->getRepository($config['entity']); if (isset($config['findBy'])) { $entries = $repos->findBy($config['findBy']); } else { $entries = $repos->findAll(); } } catch (\Exception $e) { print $e->getMessage(); exit('application break'); } $rows = array(); foreach ($entries as $entry) { $row = array(); foreach ($this->cols as $col) { $row[$col] = $entry->{$col}; } $rows[$entry->webPreferences->hostId][$entry->url] = $row; } $result = new Config($rows); if (isset($config['savecache']) && true === $config['savecache']) { $cache->setItem($key, $result); } } return $result; }
/** * Get result from cache or execute database query * * @param array $config query and cache parameters * @param ServiceLocatorInterface $sl * @return multitype:NULL */ protected function queryDbCacheResult($config, $sl) { $result = array(); $cache = $sl->get(static::CONTENTINUM_CACHE); $key = $config['cache']; if (!($result = $cache->getItem($key))) { $worker = new Worker($sl->get($config['entitymanager'])); $worker->setEntity($config['entity']); $sortby = $config['sortby']; $entries = $worker->getStorage()->getRepository($worker->getEntityName())->findAll(); foreach ($entries as $entry) { $result[$entry->{$sortby}] = $entry->toArray(); } $this->saveCacheItems($key, $result, $cache, $config); } return $result; }
/** * (non-PHPdoc) * * @see \Contentinum\Service\WebsiteServiceFactory::queryDbCacheResult() */ protected function queryDbCacheResult($config, $sl) { $result = array(); $cache = $sl->get(static::CONTENTINUM_CACHE); $key = $config['cache']; if (!($result = $cache->getItem($key))) { $worker = new Worker($sl->get($config['entitymanager'])); $repos = $worker->getStorage()->getRepository($config['entity']); if (isset($config['findBy'])) { $orderBy = array(); if (isset($config['orderBy'])) { $orderBy = $config['orderBy']; } $entries = $repos->findBy($config['findBy'], $orderBy); } else { if (isset($config['orderBy'])) { $entries = $repos->findBy(array(), $config['orderBy']); } else { $entries = $repos->findAll(); } } $tmp = array(); foreach ($entries as $entry) { if (9 !== $entry->onlylink) { if (1 === $entry->onlylink) { $url = $entry->url; $label = ' (external)'; } else { if ('index' === $entry->url) { $url = '/'; } else { $url = '/' . $entry->url; } $label = ' (internal)'; } $tmp[$url] = array('name' => $entry->label . $label); } } $result = new Config($tmp); if (isset($config['savecache']) && true === $config['savecache']) { $cache->setItem($key, $result); } } return $result; }
protected function queryDbCacheResult($config, $sl) { $result = array(); $cache = $sl->get(static::CONTENTINUM_CACHE); $key = $config['cache']; if (!($result = $cache->getItem($key))) { $worker = new Worker($sl->get($config['entitymanager'])); $entries = $worker->getStorage()->getRepository($config['entity'])->findBy(array('eventOrganizer' => 1), array('organisation' => 'ASC')); $tmp = array(); foreach ($entries as $entry) { $tmp[$entry->id] = array('name' => $entry->organisation); } $result = new Config($tmp); if (isset($config['savecache']) && true === $config['savecache']) { $cache->setItem($key, $result); } } return $result; }