Revert "[BUGFIX] Links on external pages don't get indexed" 52/22552/3
authorJigal van Hemert <jigal.van.hemert@typo3.org>
Thu, 25 Jul 2013 08:14:08 +0000 (10:14 +0200)
committerJigal van Hemert <jigal.van.hemert@typo3.org>
Thu, 25 Jul 2013 08:23:20 +0000 (10:23 +0200)
This reverts commit 819b5be0ac81004371fee2f0e6386cc32233a59b

Discussion with Mario Rimann and Stefan Neufeind leads to the conclusion
that this patch breaks current behaviour and that it's not possible to
implement both use cases without an extra setting. Agreement was to
revert this change and turn the bug report into a feature request.

Change-Id: Iebb62c89959328cc460fea5f1f46fb824b892822
Reviewed-on: https://review.typo3.org/22552
Reviewed-by: Jigal van Hemert
Tested-by: Jigal van Hemert
typo3/sysext/indexed_search/Classes/Hook/CrawlerHook.php
typo3/sysext/indexed_search/Tests/Unit/Hook/CrawlerHookTest.php [deleted file]

index ff36b6d..7daaee0 100644 (file)
@@ -462,28 +462,16 @@ class CrawlerHook {
         *
         *****************************************/
        /**
-        * Check if an input URL are allowed to be indexed. Depends on whether the URL
-        * to be indexed is part of (= starts with) the same base URL and that this
-        * URl is not yet present in the url log.
-        *
-        * To check if the URL is on the same domain, any path after the domain name
-        * is stripped of for the comparison.
+        * Check if an input URL are allowed to be indexed. Depends on whether it is already present in the url log.
         *
         * @param       string          URL string to check
         * @param       array           Array of already indexed URLs (input url is looked up here and must not exist already)
-        * @param       string          Base URL of the indexing process (input URL must be "inside" the base URL!). If the base URL is pointing to a file, the path to the file is stripped off for checking.
-        * @return      mixed           Returns the URL if OK, otherwise FALSE
+        * @param       string          Base URL of the indexing process (input URL must be "inside" the base URL!)
+        * @return      string          Returls the URL if OK, otherwise FALSE
         * @todo Define visibility
         */
        public function checkUrl($url, $urlLog, $baseUrl) {
                $url = preg_replace('/\\/\\/$/', '/', $url);
-
-               // just get the root of the URL like http://www.domain.tld/ to verify
-               // the URL to be indexed is part of the same domain
-               $baseUrlArray = parse_url($baseUrl);
-               $baseUrl = $baseUrlArray['scheme'] . '://' . $baseUrlArray['host'] .
-                       ($baseUrlArray['port'] ? ':' . $baseUrlArray['port'] : '') . '/';
-
                list($url) = explode('#', $url);
                if (!strstr($url, '../')) {
                        if (GeneralUtility::isFirstPartOfStr($url, $baseUrl)) {
@@ -492,8 +480,6 @@ class CrawlerHook {
                                }
                        }
                }
-
-               return FALSE;
        }
 
        /**
diff --git a/typo3/sysext/indexed_search/Tests/Unit/Hook/CrawlerHookTest.php b/typo3/sysext/indexed_search/Tests/Unit/Hook/CrawlerHookTest.php
deleted file mode 100644 (file)
index 582bcba..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-<?php
-namespace TYPO3\CMS\IndexedSearch\Tests\Unit\Hook;
-
-/***************************************************************
- *  Copyright notice
- *
- *  (c) 2013 Mario Rimann (mario.rimann@typo3.org)
- *  All rights reserved
- *
- *  This script is part of the TYPO3 project. The TYPO3 project is
- *  free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  The GNU General Public License can be found at
- *  http://www.gnu.org/copyleft/gpl.html.
- *
- *  This script is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  This copyright notice MUST APPEAR in all copies of the script!
- ***************************************************************/
-
-/**
- * This class contains unit tests for Crawler Hook class
- *
- * @author Mario Rimann <mario.rimann@typo3.org>
- */
-class CrawlerHookTest extends \TYPO3\CMS\Core\Tests\UnitTestCase {
-
-       /**
-        * CrawlerHook instance
-        *
-        * @var \PHPUnit_Framework_MockObject_MockObject|\TYPO3\CMS\IndexedSearch\Hook\CrawlerHook
-        */
-       protected $fixture = NULL;
-
-
-       /**
-        * Sets up the test
-        */
-       public function setUp() {
-               $this->fixture = $this->getMock('TYPO3\CMS\IndexedSearch\Hook\CrawlerHook', array('dummy'));
-       }
-
-       /**
-        * Explicitly clean up the indexer object to prevent any memory leaks
-        */
-       public function tearDown() {
-               $this->fixture = NULL;
-       }
-
-       /**
-        * @test
-        */
-       public function checkUrlReturnsTheUrlOnBaseUrlWithoutPath() {
-               $this->assertSame(
-                       'http://typo3.org/about.html',
-                       $this->fixture->checkUrl(
-                               'http://typo3.org/about.html',
-                               array(),
-                               'http://typo3.org/'
-                       )
-               );
-       }
-
-       /**
-        * @test
-        */
-       public function checkUrlReturnsTheUrlOnBaseUrlWithPath() {
-               $this->assertSame(
-                       'http://typo3.org/about.html',
-                       $this->fixture->checkUrl(
-                               'http://typo3.org/about.html',
-                               array(),
-                               'http://typo3.org/linklist.html'
-                       )
-               );
-       }
-
-       /**
-        * @test
-        */
-       public function checkUrlReturnsFalseOnUrlThatDoesNotMatchToTheBaseUrlOnBaseUrlWithoutPath() {
-               $this->assertFalse(
-                       $this->fixture->checkUrl(
-                               'http://www.w3c.org/about.html',
-                               array(),
-                               'http://typo3.org/'
-                       )
-               );
-       }
-
-       /**
-        * @test
-        */
-       public function checkUrlReturnsFalseOnUrlThatDoesNotMatchToTheBaseUrlOnBaseUrlWithPath() {
-               $this->assertFalse(
-                       $this->fixture->checkUrl(
-                               'http://www.w3c.org/about.html',
-                               array(),
-                               'http://typo3.org/linklist.html'
-                       )
-               );
-       }
-
-}
-?>
\ No newline at end of file