瀏覽代碼

move utility function to a utility class and delete obsolete code

ksieren 2 年之前
父節點
當前提交
ad821c2fb2
共有 3 個文件被更改,包括 28 次插入33 次删除
  1. 7 17
      Classes/Controller/BackendController.php
  2. 0 16
      Classes/Domain/Repository/ActivePageRepository.php
  3. 21 0
      Classes/Utils/Gedoens.php

+ 7 - 17
Classes/Controller/BackendController.php

@@ -15,6 +15,7 @@ use Psr\Http\Message\ResponseInterface;
 use TYPO3\CMS\Extbase\Mvc\View\ViewInterface;
 use TYPO3\CMS\Core\Page\PageRenderer;
 use TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder;
+use Meramo\Pagemanager\Utils\Gedoens;
 
 class BackendController extends ActionController
 {
@@ -93,22 +94,9 @@ class BackendController extends ActionController
     return $this->uriBuilder->reset()->uriFor($action, $parameters, $controller);
   }
 
-  public function createCategoryFromSlug($slug)
-  {
-    if (substr($slug, 0, 1) === '/') {
-      $value = ltrim($slug, '/');
-
-      if (substr($slug, 0, 1) === '_') {
-        $value = ltrim($slug, '_');
-      }
-
-      $data = explode('/', $slug);
-    }
-    return $data[0];
-  }
-
   public function indexAction(): ResponseInterface
   {
+      $this->gedoens = GeneralUtility::makeInstance(Gedoens::class);
     $activePages = $this->activePageRepository->findActivePagesAndPageCreatetors();
     $itemsperpage = $this->settings['itemsPerPage'] ?? 50;
 
@@ -121,7 +109,7 @@ class BackendController extends ActionController
       $pageObj->setEndtime($activePage['endtime']);
       $pageObj->setTitle($activePage['title']);
       $pageObj->setRoof($activePage['roof']);
-      $pageObj->setCategory($this->activePageRepository->createCategoryFromSlug($activePage['slug']));
+      $pageObj->setCategory($this->gedoens->createCategoryFromSlug($activePage['slug']));
       $pageObj->setCreator($activePage['username']);
       $pageObj->setFullName($activePage['realName']);
 
@@ -137,6 +125,7 @@ class BackendController extends ActionController
 
   public function showLast30Action()
   {
+      $this->gedoens = GeneralUtility::makeInstance(Gedoens::class);
     $activePagesExpiredInlast30days = $this->activePageRepository->findExpiredRecordsInTheLast30OR90Days(30);
     $itemsperpage = $this->settings['itemsPerPage'] ?? 50;
 
@@ -149,7 +138,7 @@ class BackendController extends ActionController
       $pageObj->setEndtime($activePage['endtime']);
       $pageObj->setTitle($activePage['title']);
       $pageObj->setRoof($activePage['roof']);
-      $pageObj->setCategory($this->activePageRepository->createCategoryFromSlug($activePage['slug']));
+      $pageObj->setCategory($this->gedoens->createCategoryFromSlug($activePage['slug']));
       $pageObj->setCreator($activePage['username']);
       $pageObj->setFullName($activePage['realName']);
 
@@ -165,6 +154,7 @@ class BackendController extends ActionController
 
   public function showLast90Action()
   {
+      $this->gedoens = GeneralUtility::makeInstance(Gedoens::class);
     $activePagesExpiredInlast90days = $this->activePageRepository->findExpiredRecordsInTheLast30OR90Days(90);
     $itemsperpage = $this->settings['itemsPerPage'] ?? 50;
 
@@ -177,7 +167,7 @@ class BackendController extends ActionController
       $pageObj->setEndtime($activePage['endtime']);
       $pageObj->setTitle($activePage['title']);
       $pageObj->setRoof($activePage['roof']);
-      $pageObj->setCategory($this->activePageRepository->createCategoryFromSlug($activePage['slug']));
+      $pageObj->setCategory($this->gedoens->createCategoryFromSlug($activePage['slug']));
       $pageObj->setCreator($activePage['username']);
       $pageObj->setFullName($activePage['realName']);
 

+ 0 - 16
Classes/Domain/Repository/ActivePageRepository.php

@@ -36,7 +36,6 @@ class ActivePageRepository extends Repository
     $statement = $queryBuilder
       ->select('p.uid', 'p.starttime', 'p.endtime', 'p.title', 'p.roof', 'p.slug', 'u.username', 'u.realName')
       ->from('pages', 'p')
-      //->from('be_users', 'u')
       ->leftJoin(
         'p',
         'be_users',
@@ -87,25 +86,10 @@ class ActivePageRepository extends Repository
        GROUP BY `p`.`slug`
        ORDER BY `p`.`endtime` ASC', $timestamp);
 
-    //var_dump($sql);
     $statement  = $connection->prepare($sql);
     $result = $statement->executeQuery();
 
     return $result->fetchAllAssociative();
   }
 
-  /**
-   * Create category from slug
-   * 
-   */
-
-  public function createCategoryFromSlug($slug)
-  {
-    if (substr($slug, 0, 1) === '/') $value = ltrim($slug, '/');
-
-    if (substr($slug, 0, 1) === '_') $value = ltrim($slug, '_');
-
-    return  explode('/', $value)[0];
-  }
-
 }

+ 21 - 0
Classes/Utils/Gedoens.php

@@ -0,0 +1,21 @@
+<?php
+
+namespace Meramo\Pagemanager\Utils;
+
+class Gedoens
+{
+    /**
+     * Create category from slug
+     *
+     */
+
+    public function createCategoryFromSlug($slug)
+    {
+        if (substr($slug, 0, 1) === '/') $value = ltrim($slug, '/');
+
+        if (substr($slug, 0, 1) === '_') $value = ltrim($slug, '_');
+
+        #TODO: $value is probably undefined. So please define a 'default'!
+        return  explode('/', $value)[0];
+    }
+}