[Feature:61941] It is now possible to exclude Sites from being displaying in the...
authorJavor Issapov <javor.issapov@diemedialen.de>
Wed, 1 Oct 2014 10:03:19 +0000 (12:03 +0200)
committerJavor Issapov <javor.issapov@diemedialen.de>
Wed, 1 Oct 2014 10:03:19 +0000 (12:03 +0200)
There is also a field in the extension configuration to Enable/Disable this feature globally.

Change-Id: I26949e7a898f5ef19e23762ef95240e749e7b8d9

Classes/Domain/Model/Pages.php
Classes/Utility/SitemapRenderer.php
Resources/Private/Language/de.locallang.xlf
Resources/Private/Language/locallang.xlf
Resources/Private/Partials/Sitemap/page.html
Resources/Private/Templates/Sitemap/List.html
commit-msg [deleted file]
ext_conf_template.txt
ext_emconf.php

index 6eca89c..bd151df 100644 (file)
@@ -81,6 +81,12 @@ class Pages extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
        protected $hidden;
        
        /**
+        * noSearch
+        * @var \integer
+        */
+       protected $noSearch;
+       
+       /**
         * navHide
         * @var integer
         */
@@ -98,8 +104,6 @@ class Pages extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
         */
        protected $isSiteroot;
        
-       
-       
        /**
         * Returns the pid
         *
@@ -151,6 +155,13 @@ class Pages extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
        }
        
        /**
+        * @param \integer $noSearch
+        */
+       public function getNoSearch(){
+               return $this->noSearch;
+       }
+       
+       /**
         * @return integer $navHide
         */
        public function getNavHide(){
index d3590fc..7bddc9d 100644 (file)
@@ -16,12 +16,18 @@ class SitemapRenderer {
                $httpHost = $_SERVER['HTTP_HOST'];
                $confArray = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['dynamicgooglesitemap']);
                $orderBy = $this->field[$confArray['sorting']];
+               $respectNoSearch = (boolean) $confArray['respectNoSearch'];
+               
+               $noSearchSql = '';
+               if($respectNoSearch) {
+                       $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';
                $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
                        '*', 
-                       'pages p, tx_dynamicgooglesitemap_domain_model_sitemap s', 
-                       'p.uid = s.for_page AND http_host = \'' . $httpHost . '\'' . $respectEnableFields,
+                       'pages p, ' . $this->table . ' s', 
+                       'p.uid = s.for_page AND http_host = \'' . $httpHost . '\'' . $respectEnableFields . $noSearchSql,
                        '', // Group By
                        $orderBy
                );
index 2110778..5f3c8a9 100644 (file)
                                <source>Sort Sitemap by Field</source>
                                <target>Sortiere Sitemap by Feld</target>
                        </trans-unit>
+                       <trans-unit id="config.nosearch">
+                               <source>Respect 'Include in Search' field from page properties</source>
+                               <target>Respektiere 'In Indexsuche einbeziehen' Feld von Seiteneigenschaften</target>
+                       </trans-unit>
                        
                </body>
        </file>
index 94c77a3..face61c 100644 (file)
@@ -47,6 +47,9 @@
                        <trans-unit id="config.sorting">
                                <source>Sort Sitemap by Field</source>
                        </trans-unit>
+                       <trans-unit id="config.nosearch">
+                               <source>Respect 'Include in Search' field from page properties</source>
+                       </trans-unit>
                        
                </body>
        </file>
index 8064239..855521b 100644 (file)
@@ -1,4 +1,4 @@
-<tr class="item">
+<tr class="item{f:if(condition: item.page.noSearch, then: ' nosearch')}">
        <td class="title">
                <f:for each="{item.level}" as="level">
                        <img src="./clear.gif" width="18" height="16" alt="">
                <f:for each="{item.sitemaps}" as="sitemap" iteration="i">
                        <f:if condition="{i.isFirst}">
                                <f:then></f:then>
-                               <f:else><tr><td colspan="2"><!--  --></td></f:else>
+                               <f:else>
+                                       <f:if condition="{item.page.noSearch}">
+                                               <f:then><tr class="nosearch"><td colspan="2"><!--  --></td></f:then>
+                                               <f:else><tr><td colspan="2"><!--  --></td></f:else>
+                                       </f:if>
+                               </f:else>
                        </f:if>
                        
                                <td class="lang">
index 4b7cf77..eb6baff 100644 (file)
@@ -19,6 +19,11 @@ Otherwise your changes will be overwritten the next time you save the extension
                {nopid_msg}
        </f:then>
        <f:else>
+               <style>
+                       .nosearch {     
+                               color: #c0c0c0;
+                       }
+               </style>
                <script type="text/javascript">
                        window.onload = function () {
                                var selects = document.getElementsByTagName("select");
diff --git a/commit-msg b/commit-msg
deleted file mode 100644 (file)
index 5d48487..0000000
+++ /dev/null
@@ -1,181 +0,0 @@
-#!/bin/sh
-# From Gerrit Code Review 2.9
-#
-# Part of Gerrit Code Review (http://code.google.com/p/gerrit/)
-#
-# Copyright (C) 2009 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-unset GREP_OPTIONS
-
-CHANGE_ID_AFTER="Bug|Issue"
-MSG="$1"
-
-# Check for, and add if missing, a unique Change-Id
-#
-add_ChangeId() {
-       clean_message=`sed -e '
-               /^diff --git .*/{
-                       s///
-                       q
-               }
-               /^Signed-off-by:/d
-               /^#/d
-       ' "$MSG" | git stripspace`
-       if test -z "$clean_message"
-       then
-               return
-       fi
-
-       if test "false" = "`git config --bool --get gerrit.createChangeId`"
-       then
-               return
-       fi
-
-       # Does Change-Id: already exist? if so, exit (no change).
-       if grep -i '^Change-Id:' "$MSG" >/dev/null
-       then
-               return
-       fi
-
-       id=`_gen_ChangeId`
-       T="$MSG.tmp.$$"
-       AWK=awk
-       if [ -x /usr/xpg4/bin/awk ]; then
-               # Solaris AWK is just too broken
-               AWK=/usr/xpg4/bin/awk
-       fi
-
-       # How this works:
-       # - parse the commit message as (textLine+ blankLine*)*
-       # - assume textLine+ to be a footer until proven otherwise
-       # - exception: the first block is not footer (as it is the title)
-       # - read textLine+ into a variable
-       # - then count blankLines
-       # - once the next textLine appears, print textLine+ blankLine* as these
-       #   aren't footer
-       # - in END, the last textLine+ block is available for footer parsing
-       $AWK '
-       BEGIN {
-               # while we start with the assumption that textLine+
-               # is a footer, the first block is not.
-               isFooter = 0
-               footerComment = 0
-               blankLines = 0
-       }
-
-       # Skip lines starting with "#" without any spaces before it.
-       /^#/ { next }
-
-       # Skip the line starting with the diff command and everything after it,
-       # up to the end of the file, assuming it is only patch data.
-       # If more than one line before the diff was empty, strip all but one.
-       /^diff --git / {
-               blankLines = 0
-               while (getline) { }
-               next
-       }
-
-       # Count blank lines outside footer comments
-       /^$/ && (footerComment == 0) {
-               blankLines++
-               next
-       }
-
-       # Catch footer comment
-       /^\[[a-zA-Z0-9-]+:/ && (isFooter == 1) {
-               footerComment = 1
-       }
-
-       /]$/ && (footerComment == 1) {
-               footerComment = 2
-       }
-
-       # We have a non-blank line after blank lines. Handle this.
-       (blankLines > 0) {
-               print lines
-               for (i = 0; i < blankLines; i++) {
-                       print ""
-               }
-
-               lines = ""
-               blankLines = 0
-               isFooter = 1
-               footerComment = 0
-       }
-
-       # Detect that the current block is not the footer
-       (footerComment == 0) && (!/^\[?[a-zA-Z0-9-]+:/ || /^[a-zA-Z0-9-]+:\/\//) {
-               isFooter = 0
-       }
-
-       {
-               # We need this information about the current last comment line
-               if (footerComment == 2) {
-                       footerComment = 0
-               }
-               if (lines != "") {
-                       lines = lines "\n";
-               }
-               lines = lines $0
-       }
-
-       # Footer handling:
-       # If the last block is considered a footer, splice in the Change-Id at the
-       # right place.
-       # Look for the right place to inject Change-Id by considering
-       # CHANGE_ID_AFTER. Keys listed in it (case insensitive) come first,
-       # then Change-Id, then everything else (eg. Signed-off-by:).
-       #
-       # Otherwise just print the last block, a new line and the Change-Id as a
-       # block of its own.
-       END {
-               unprinted = 1
-               if (isFooter == 0) {
-                       print lines "\n"
-                       lines = ""
-               }
-               changeIdAfter = "^(" tolower("'"$CHANGE_ID_AFTER"'") "):"
-               numlines = split(lines, footer, "\n")
-               for (line = 1; line <= numlines; line++) {
-                       if (unprinted && match(tolower(footer[line]), changeIdAfter) != 1) {
-                               unprinted = 0
-                               print "Change-Id: I'"$id"'"
-                       }
-                       print footer[line]
-               }
-               if (unprinted) {
-                       print "Change-Id: I'"$id"'"
-               }
-       }' "$MSG" > "$T" && mv "$T" "$MSG" || rm -f "$T"
-}
-_gen_ChangeIdInput() {
-       echo "tree `git write-tree`"
-       if parent=`git rev-parse "HEAD^0" 2>/dev/null`
-       then
-               echo "parent $parent"
-       fi
-       echo "author `git var GIT_AUTHOR_IDENT`"
-       echo "committer `git var GIT_COMMITTER_IDENT`"
-       echo
-       printf '%s' "$clean_message"
-}
-_gen_ChangeId() {
-       _gen_ChangeIdInput |
-       git hash-object -t commit --stdin
-}
-
-
-add_ChangeId
index 0a14502..1c747a1 100644 (file)
@@ -2,4 +2,7 @@
 ignoreParams = cHash
 
   # cat=Basic//20; type=options[UID,PageTitle,URL,LastChanged]; label=LLL:EXT:dynamicgooglesitemap/Resources/Private/Language/locallang.xlf:config.sorting
-sorting = uid
\ No newline at end of file
+sorting = uid
+
+  # cat=Basic//30; type=boolean; label=LLL:EXT:dynamicgooglesitemap/Resources/Private/Language/locallang.xlf:config.nosearch
+respectNoSearch = 1
\ No newline at end of file
index e20e565..aec5d3e 100644 (file)
@@ -27,7 +27,7 @@ $EM_CONF[$_EXTKEY] = array(
        'modify_tables' => '',
        'clearCacheOnLoad' => 0,
        'lockType' => '',
-       'version' => '0.9.0',
+       'version' => '0.9.1',
        'constraints' => array(
                'depends' => array(
                        'extbase' => '6.0',