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