[BUGFIX] Some more cleanup.
authorKai Ratzeburg <hello@kai-ratzeburg.de>
Mon, 4 Jan 2016 13:17:56 +0000 (14:17 +0100)
committerKai Ratzeburg <hello@kai-ratzeburg.de>
Mon, 4 Jan 2016 13:17:56 +0000 (14:17 +0100)
Classes/Controller/SitemapController.php
Classes/Domain/Model/Pages.php
Classes/Domain/Model/Sitemap.php
Classes/Domain/Repository/PagesRepository.php
Classes/Domain/Repository/SitemapRepository.php
Classes/Domain/Session/BackendSession.php
Classes/Utility/PageData.php
Classes/Utility/SitemapRenderer.php

index 32311a7..a90c769 100644 (file)
@@ -99,6 +99,7 @@ class SitemapController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionControll
         * action edit
         *
         * @param \DieMedialen\Dynamicgooglesitemap\Domain\Model\Sitemap $sitemap
+        *
         * @return void
         */
        public function editAction(\DieMedialen\Dynamicgooglesitemap\Domain\Model\Sitemap $sitemap) {
@@ -109,10 +110,10 @@ class SitemapController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionControll
         * action update
         *
         * @param \DieMedialen\Dynamicgooglesitemap\Domain\Model\Sitemap $sitemap
-        * 
+        *
         * @return void
         */
-       public function updateAction(\DieMedialen\Dynamicgooglesitemap\Domain\Model\Sitemap $sitemap ) {
+       public function updateAction(\DieMedialen\Dynamicgooglesitemap\Domain\Model\Sitemap $sitemap) {
                $this->sitemapRepository->update($sitemap);
                $this->addFlashMessage($this->translate('tx_dynamicgooglesitemap_domain_model_sitemap.sitemap.update'));
                $this->redirect('list');
@@ -122,6 +123,7 @@ class SitemapController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionControll
         * action delete
         *
         * @param \DieMedialen\Dynamicgooglesitemap\Domain\Model\Sitemap $sitemap
+        *
         * @return void
         */
        public function deleteAction(\DieMedialen\Dynamicgooglesitemap\Domain\Model\Sitemap $sitemap) {
@@ -152,6 +154,7 @@ class SitemapController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionControll
         * @param array $pages
         * @param string $domain
         * @param integer $level
+        *
         * @return array <boolean, multitype:Ambigous <> array >
         */
        private function getSitemapForPages(array $pages, $domain, $level = 0) {
@@ -178,7 +181,7 @@ class SitemapController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionControll
                        $item['sitemaps'] = $sitemaps; 
                }
 
-               if(count($pages['subpages']) > 0){
+               if(count($pages['subpages']) > 0) {
                        ++$level;
                        foreach ($pages['subpages'] as $subpage) {
                                $item['subpages'][] = $this->getSitemapForPages($subpage, $domain, $level);
@@ -192,14 +195,17 @@ class SitemapController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionControll
         * Get Domain for current Page. 
         * If there is no domain entry, return the PHP HTTP Host.
         * 
-        * @param integer $pid
+        * @param int $pid
+        *
         * @return string
         */
-       private function getDomain($pid){
+       private function getDomain($pid) {
                $rootLine = \TYPO3\CMS\Backend\Utility\BackendUtility::BEgetRootLine($pid, '', TRUE);
                $domainRecord = \TYPO3\CMS\Backend\Utility\BackendUtility::firstDomainrecord($rootLine);
+               if (!empty($domainRecord)) {
+                       return $domainRecord;
+               }
 
-               if (!empty($domainRecord)) { return $domainRecord; }
                return \TYPO3\CMS\Core\Utility\GeneralUtility::getIndpEnv('HTTP_HOST');
        }
 
@@ -211,7 +217,7 @@ class SitemapController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionControll
         */
        private function getDomains(){
                $domains = array();
-               $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('domainName', 'sys_domain', "redirectTo = '' AND hidden = 0");
+               $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('domainName', 'sys_domain', 'redirectTo = "" AND hidden = 0');
                while($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)){
                        $domains[$row['domainName']] = $row['domainName'];
                }
@@ -223,6 +229,7 @@ class SitemapController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionControll
         * translation shortcut
         *
         * @param string $label
+        *
         * @return Ambigous <string, NULL, string, unknown>
         */
        private function translate($label) {
index 1a40d46..e58f9ba 100644 (file)
@@ -37,21 +37,21 @@ class Pages extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
 
        /**
         * uid
-        * @var integer
+        * @var int
         * @validate NotEmpty
         */
        protected $uid;
 
        /**
         * pid
-        * @var integer
+        * @var int
         * @validate NotEmpty
         */
        protected $pid;
 
        /**
         * sorting
-        * @var integer
+        * @var int
         * @validate NotEmpty
         */
        protected $sorting;
@@ -65,43 +65,43 @@ class Pages extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
 
        /**
         * doktype
-        * @var integer
+        * @var int
         */
        protected $doktype;
 
        /**
         * shortcutMode
-        * @var integer
+        * @var int
         */
        protected $shortcutMode;
 
        /**
         * hidden
-        * @var integer
+        * @var int
         */
        protected $hidden;
 
        /**
         * noSearch
-        * @var \integer
+        * @var int
         */
        protected $noSearch;
 
        /**
         * navHide
-        * @var integer
+        * @var int
         */
        protected $navHide;
 
        /**
         * feGroup
-        * @var integer
+        * @var int
         */
        protected $feGroup;
 
        /**
         * isSiteroot
-        * @var integer
+        * @var int
         */
        protected $isSiteroot;
 
@@ -135,49 +135,49 @@ class Pages extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
        /**
         * Returns the Doktime as Integer
         * 
-        * @return integer $doktype
+        * @return int $doktype
         */
        public function getDoktype() {
                return $this->doktype;
        }
 
        /**
-        * @return integer $shortcutMode
+        * @return int $shortcutMode
         */
        public function getShortcutMode() {
                return $this->shortcutMode;
        }
 
        /**
-        * @return integer $hidden
+        * @return int $hidden
         */
        public function getHidden() {
                return $this->hidden;
        }
 
        /**
-        * @param \integer $noSearch
+        * @param int $noSearch
         */
        public function getNoSearch() {
                return $this->noSearch;
        }
 
        /**
-        * @return integer $navHide
+        * @return int $navHide
         */
        public function getNavHide() {
                return $this->navHide;
        }
 
        /**
-        * @return integer $feGroup
+        * @return int $feGroup
         */
        public function getFeGroup() {
                return $this->feGroup;
        }
 
        /**
-        * @return integer $isSiteroot
+        * @return int $isSiteroot
         */
        public function getIsSiteroot() {
                return $this->isSiteroot;
@@ -187,7 +187,7 @@ class Pages extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
         * Returns the CSS Class for the page icon 
         * depending on the page Doctype
         *
-        * @return string $css
+        * @return string
         */
        public function getPageCssClass() {
                $doktype = array(
@@ -202,7 +202,6 @@ class Pages extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
                );
 
                $suffix = '';
-
                if($this->isSiteroot) {
                        if($this->doktype == 4 && $this->shortcutMode > 0) {
                                $suffix = '-page-shortcut-root';
@@ -218,7 +217,6 @@ class Pages extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
                } 
 
                $css = 't3-icon-pagetree' . $suffix;
-
                if($this->doktype != 1 && $this->navHide) {
                        $css .= '-hideinmenu';
                }
index 14fcb31..f7a7ace 100644 (file)
@@ -45,7 +45,7 @@ class Sitemap extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
        /**
         * The coresponding page ID
         *
-        * @var integer
+        * @var int
         */
        protected $forPage;
 
@@ -76,7 +76,7 @@ class Sitemap extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
        /**
         * Priority of the url in context to the whole  sitemap.
         *
-        * @var integer
+        * @var int
         */
        protected $priority;
 
@@ -97,7 +97,7 @@ class Sitemap extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
        /**
         * sys_language_uid 
         * 
-        * @var integer
+        * @var int
         */
        protected $sysLanguageUid;
 
@@ -111,7 +111,7 @@ class Sitemap extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
        /**
         * Returns the forPage
         *
-        * @return integer $forPage
+        * @return int $forPage
         */
        public function getForPage() {
                return $this->forPage;
@@ -120,7 +120,8 @@ class Sitemap extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
        /**
         * Sets the forPage
         *
-        * @param integer $forPage
+        * @param int $forPage
+        *
         * @return void
         */
        public function setForPage($forPage) {
@@ -140,6 +141,7 @@ class Sitemap extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
         * Sets the url
         *
         * @param string $requestUri
+        *
         * @return void
         */
        public function setRequestUri($requestUri) {
@@ -159,6 +161,7 @@ class Sitemap extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
         * Sets the HTTP Host
         *
         * @param string $httpHost
+        *
         * @return void
         */
        public function setHttpHost($httpHost) {
@@ -178,6 +181,7 @@ class Sitemap extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
         * Sets the Content Hash
         *
         * @param string $contentHash
+        *
         * @return void
         */
        public function setContentHash($contentHash) {
@@ -187,7 +191,7 @@ class Sitemap extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
        /**
         * Returns the priority
         *
-        * @return integer $priority
+        * @return int $priority
         */
        public function getPriority() {
                return $this->priority;
@@ -196,7 +200,8 @@ class Sitemap extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
        /**
         * Sets the priority
         *
-        * @param integer $priority
+        * @param int $priority
+        *
         * @return void
         */
        public function setPriority($priority) {
@@ -216,6 +221,7 @@ class Sitemap extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
         * Sets the lastmod
         *
         * @param \DateTime $lastmod
+        *
         * @return void
         */
        public function setLastmod($lastmod) {
@@ -235,6 +241,7 @@ class Sitemap extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
         * Sets the URL Params
         * 
         * @param string $urlParams
+        *
         * @return void
         */
        public function setUrlParams($urlParams) {
@@ -244,7 +251,7 @@ class Sitemap extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
        /**
         * Returns the sysLanguageUid
         * 
-        * @return integer
+        * @return int
         */
        public function getSysLanguageUid(){
                return $this->sysLanguageUid;
@@ -253,7 +260,8 @@ class Sitemap extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
        /**
         * Sets the sysLanguageUid
         * 
-        * @param integer $sysLanguageUid
+        * @param int $sysLanguageUid
+        *
         * @return void
         */
        public function setSysLanguageUid($sysLanguageUid) {
@@ -273,6 +281,7 @@ class Sitemap extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
         * Sets the sysLanguageFlag
         * 
         * @param string $sysLanguageFlag
+        *
         * @return void
         */
        public function setSysLanguageFlag($sysLanguageFlag) {
index cb1ed0f..f60c345 100644 (file)
@@ -37,7 +37,10 @@ namespace DieMedialen\Dynamicgooglesitemap\Domain\Repository;
 class PagesRepository extends \TYPO3\CMS\Extbase\Persistence\Repository {
 
        /**
+        * findByPid
+        *
         * @param integer $pid
+        *
         * @return TYPO3\CMS\Extbase\Persistence\Generic\QueryResult
         */
        public function findByPid($pid) {
@@ -49,8 +52,11 @@ class PagesRepository extends \TYPO3\CMS\Extbase\Persistence\Repository {
        }
 
        /**
+        * getSubpages
+        *
         * @param mixed $page
-        * @return multitype:
+        *
+        * @return mixed
         */
        function getSubpages($page) {
                $pagesArray = array();
index 34d5882..e369c59 100644 (file)
@@ -69,9 +69,11 @@ class SitemapRepository extends \TYPO3\CMS\Extbase\Persistence\Repository {
        /**
         * Finds an object matching the given identifier.
         *
+        * @api
+        *
         * @param integer $uid The identifier of the object to find
+        *
         * @return object The matching object if found, otherwise NULL
-        * @api
         */
        public function findByUid($uid) {
                $query = $this->createQuery();
@@ -83,9 +85,11 @@ class SitemapRepository extends \TYPO3\CMS\Extbase\Persistence\Repository {
        /**
         * Finds an object matching the given identifier.
         *
+        * @api
+        *
         * @param integer $uid The identifier of the object to find
+        *
         * @return object The matching object if found, otherwise NULL
-        * @api
         */
        public function findByDomain($domain) {
                $query = $this->createQuery();
@@ -97,8 +101,9 @@ class SitemapRepository extends \TYPO3\CMS\Extbase\Persistence\Repository {
        /**
         * Removes all objects for the given domain
         *
-        * @return void
         * @api
+        *
+        * @return void
         */
        public function removeAllByDomain($domain) {
                foreach ($this->findByDomain($domain) AS $object) {
@@ -109,10 +114,12 @@ class SitemapRepository extends \TYPO3\CMS\Extbase\Persistence\Repository {
        /**
         * Return all Sitemap entrys for a given page and domain.
         * 
+        * @api
+        *
         * @param integer $uid the id of the page
         * @param string $domain damain for filtering.
+        *
         * @return object The matching object if found, otherwise NULL
-        * @api
         */
        public function findForPage($uid, $domain) {
                $query = $this->createQuery();
index 4e5dcd4..8e24553 100644 (file)
@@ -36,12 +36,15 @@ namespace DieMedialen\Dynamicgooglesitemap\Domain\Session;
 class BackendSession extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
        
        /**
+        * Session key.
+        *
         * @var string
         */
        protected $sessionKey = 'tx_dynamicgooglesitemap';
        
        /**
         * @param string $sessionKey
+        *
         * @return void
         */
        public function setSessionKey($sessionKey) {
@@ -58,6 +61,7 @@ class BackendSession extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
        /**
         * @param string $key
         * @param mixed $value
+        *
         * @return void
         */
        public function save($key, $value) {
@@ -68,6 +72,7 @@ class BackendSession extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
        
        /**
         * @param string $key
+        *
         * @return mixed
         */
        public function get($key) {
@@ -81,6 +86,7 @@ class BackendSession extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
        
        /**
         * @param string $key
+        *
         * @return void
         */
        public function delete($key) {
index 4aa4e1c..12ab8a1 100644 (file)
@@ -42,6 +42,7 @@ class PageData {
         * Gather all needed Data and Insert or Update into Database.
         *
         * @param array $params
+        *
         * @return void
         */
        public function getData(&$params) {
@@ -131,6 +132,7 @@ class PageData {
         * Configurable through the Extensions Configuration.
         *
         * @param array $params
+        *
         * @return string
         */
        private function getGetParams($params){
@@ -138,19 +140,25 @@ class PageData {
                $ignoreParams = GeneralUtility::trimExplode(',', $confArray['ignoreParams'], TRUE);
 
                ksort($params);
-               $str = "";
+               $str = '';
                foreach ($params as $key => $value) {
-                       #if($key == 'id') {continue;}
-                       if(in_array($key,$ignoreParams)) {continue;}
-                       if(is_array($value)){
+                       if(in_array($key, $ignoreParams)) {
+                               continue;
+                       }
+                       if(is_array($value)) {
                                ksort($value);
                                foreach ($value as $k => $v) {
-                                       if(!empty($v)){ $str .= '&' . $key . '['. $k .']='. $v; }
+                                       if(!empty($v)) {
+                                               $str .= '&' . $key . '['. $k .']='. $v;
+                                       }
                                }
                        } else {
-                               if(!empty($value)){ $str .= '&' . $key . '=' . $value ; }
+                               if(!empty($value)) {
+                                       $str .= '&' . $key . '=' . $value;
+                               }
                        }
                }
+
                return urldecode($str);
        }
 }
index e49b32f..8135c6c 100644 (file)
@@ -38,8 +38,17 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class SitemapRenderer {
 
-       // mapping the names form extension configuration (sorting) to actual table fields.
-       private $field = array('UID' => 's.for_page', 'PageTitle' => 'p.title', 'URL' => 's.request_uri', 'LastChanged' => 's.lastmod');
+       /**
+        * Mapping the names form extension configuration (sorting) to actual table fields.
+        *
+        * @var array
+        */
+       private $field = array(
+               'UID' => 's.for_page',
+               'PageTitle' => 'p.title',
+               'URL' => 's.request_uri',
+               'LastChanged' => 's.lastmod'
+       );
 
        /**
         * Render sitemap.
@@ -56,11 +65,12 @@ class SitemapRenderer {
                        $noSearchSql = ' AND p.no_search = 0';
                }
 
-               $respectEnableFields = ' AND p.hidden=0 AND (p.starttime<=' . time() . ') AND (p.endtime=0 OR p.endtime>' . time() . ') AND p.deleted=0';
+               $time = time();
+               $respectEnableFields = ' AND p.hidden=0 AND (p.starttime<=' . $time . ') AND (p.endtime=0 OR p.endtime>' . $time . ') AND p.deleted=0';
                $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
                        '*', 
                        'pages p, ' . Sitemap::TABLE . ' s',
-                       'p.uid = s.for_page AND http_host = \'' . $httpHost . '\'' . $respectEnableFields . $noSearchSql,
+                       'p.uid = s.for_page AND http_host = "' . $httpHost . '"' . $respectEnableFields . $noSearchSql,
                        '', // Group By
                        $orderBy
                );
@@ -72,7 +82,10 @@ class SitemapRenderer {
                }
                $GLOBALS['TYPO3_DB']->sql_free_result($res);
 
-               header('Content-Type: application/xml; charset=utf-8');
+               if (!headers_sent()) {
+                       header('Content-Type: application/xml; charset=utf-8');
+               }
+
                echo '<?xml version="1.0" encoding="UTF-8"?>'. PHP_EOL;
                echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">' . PHP_EOL;
 
@@ -125,6 +138,8 @@ class SitemapRenderer {
        }
 
        /**
+        * Init TSFE.
+        *
         * Taken form http://typo3.org/documentation/snippets/sd/466/
         */
        private function initTSFE() {