ItSpiderman has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/314659

Change subject: Adds Create Page option in SearchBox autocomplete
......................................................................

Adds Create Page option in SearchBox autocomplete

Change-Id: I28215edaff8b85eaa58335a800b4550adab7f485
---
M ExtendedSearch/ExtendedSearch.class.php
M ExtendedSearch/i18n/en.json
M ExtendedSearch/i18n/qqq.json
3 files changed, 44 insertions(+), 2 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/BlueSpiceExtensions 
refs/changes/59/314659/1

diff --git a/ExtendedSearch/ExtendedSearch.class.php 
b/ExtendedSearch/ExtendedSearch.class.php
index cc34953..a3a875f 100644
--- a/ExtendedSearch/ExtendedSearch.class.php
+++ b/ExtendedSearch/ExtendedSearch.class.php
@@ -110,6 +110,7 @@
                $this->setHook( 'BSDashboardsAdminDashboardPortalConfig' );
                $this->setHook( 'BSDashboardsAdminDashboardPortalPortlets' );
                $this->setHook( 'SkinTemplateOutputPageBeforeExec' );
+               $this->setHook( 'BSExtendedSearchAutocomplete' );
 
                $this->mCore->registerPermission( 'searchfiles', array( 'user' 
), array( 'type' => 'global' ) );
                $this->mCore->registerPermission( 
'extendedsearch-viewspecialpage', array( 'user' ), array( 'type' => 'global' ) 
);
@@ -535,4 +536,43 @@
                unset( $bsgExtendedSearchBoostQuerySettings['namespace']['*'] );
        }
 
+       /**
+        * Hook-Handler for BlueSpice 'BSExtendedSearchAutocomplete' hook. 
Creates create link in autocomplete.
+        * @param array &$aResults contains results
+        * @param string &$sSearchString search string
+        * @param int &$iID number of last item
+        * @return bool Always true to keep hooks running.
+        */
+       public function onBSExtendedSearchAutocomplete( &$aResults, 
$sSearchString, &$iID, $bTitleExists, $sEcpSearchString ) {
+               if ( empty( $sSearchString ) ) return true;
+               if ( $bTitleExists === true ) return true;
+
+               if ( BsConfig::get( 'MW::ExtendedSearch::ShowCreSugInAc' ) == 
false ) return true;
+
+               $sShortAndEscapedString = BsStringHelper::shorten(
+                       $sEcpSearchString,
+                       array(
+                               'max-length' => '30',
+                               'position' => 'middle',
+                               'ellipsis-characters' => '...'
+                       )
+               );
+
+               $oTitle = Title::newFromText( $sEcpSearchString );
+               if ( is_object( $oTitle ) ) {
+                       if ( $oTitle->userCan( 'createpage' ) && 
$oTitle->userCan( 'edit' ) ) {
+                               $oItemCreate = new stdClass();
+                               $oItemCreate->id = ++$iID;
+                               $oItemCreate->value = $sEcpSearchString;
+                               $oItemCreate->label = wfMessage( 
'bs-extendedsearch-create-page', '<b>' . $sShortAndEscapedString . '</b>' 
)->parse() . '';
+                               $oItemCreate->type = '';
+                               $oItemCreate->link = $oTitle->getFullURL();
+                               $oItemCreate->attr = 'bs-extendedsearch-create';
+                               $aResults[] = $oItemCreate;
+                       }
+
+               }
+
+               return true;
+       }
 }
diff --git a/ExtendedSearch/i18n/en.json b/ExtendedSearch/i18n/en.json
index 96b80d2..6cbcb0e 100644
--- a/ExtendedSearch/i18n/en.json
+++ b/ExtendedSearch/i18n/en.json
@@ -105,5 +105,6 @@
        "bs-extendedsearch-facetsetting-op-or": "OR",
        "action-extendedsearch-viewspecialpage":"view the special page 
\"{{int:specialextendedsearch}}\"",
        "action-extendedsearchadmin-viewspecialpage":"view the special page 
\"{{int:extendedsearchadmin}}\"",
-       "extendedsearchadmin": "Extended search administration"
+       "extendedsearchadmin": "Extended search administration",
+       "bs-extendedsearch-create-page": "Create page \"$1\"."
 }
diff --git a/ExtendedSearch/i18n/qqq.json b/ExtendedSearch/i18n/qqq.json
index a0e3a86..1dd0d0c 100644
--- a/ExtendedSearch/i18n/qqq.json
+++ b/ExtendedSearch/i18n/qqq.json
@@ -113,5 +113,6 @@
        "bs-extendedsearch-facetsetting-op-or": "Label for setting of logical 
OR operator. Should be upper case\n{{Identical|Or}}",
        "action-extendedsearch-viewspecialpage": "placeholder to describe that 
view of special page \"{{int:specialextendedsearch}}\" is restricted for the 
current user.\n\n{{Doc-action|extendedsearch-viewspecialpage}}",
        "action-extendedsearchadmin-viewspecialpage": "placeholder to describe 
that view of special page \"{{int:extendedsearchadmin}}\" is restricted for the 
current user.\n\n{{Doc-action|extendedsearchadmin-viewspecialpage}}\"",
-       "extendedsearchadmin": "Extended search administration"
+       "extendedsearchadmin": "Extended search administration",
+       "bs-extendedsearch-create-page":  "Text for create page \"$1\". $1 is 
the entered page name\n{{Identical|Create page}}"
 }

-- 
To view, visit https://gerrit.wikimedia.org/r/314659
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I28215edaff8b85eaa58335a800b4550adab7f485
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/BlueSpiceExtensions
Gerrit-Branch: master
Gerrit-Owner: ItSpiderman <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to