Harjotsingh has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/342307 )
Change subject: Add Disable Outside Service button
......................................................................
Add Disable Outside Service button
Bug: T159404
Change-Id: I032f3b2b260f7672c2584e85e601fd9c33291b1a
---
M PageForms.php
M i18n/en.json
M includes/PF_FormPrinter.php
M includes/PF_Hooks.php
M specials/PF_CreateForm.php
5 files changed, 34 insertions(+), 4 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/PageForms
refs/changes/07/342307/1
diff --git a/PageForms.php b/PageForms.php
index 9891bde..5c57334 100644
--- a/PageForms.php
+++ b/PageForms.php
@@ -107,9 +107,12 @@
// This global variable is needed so that other extensions can
// hook into it to add their own input types.
$GLOBALS['wgPageFormsFormPrinter'] = new StubObject(
'wgPageFormsFormPrinter', 'PFFormPrinter' );
+ $GLOBALS['wgPageFormsDisableOutsideServices'] = new StubObject(
'wgPageFormsDisableOutsideServices', 'PFFormPrinter' );
};
} else {
$GLOBALS['wgPageFormsFormPrinter'] = new StubObject(
'wgPageFormsFormPrinter', 'PFFormPrinter' );
+ $GLOBALS['wgPageFormsDisableOutsideServices'] = new StubObject(
'wgPageFormsDisableOutsideServices', 'PFFormPrinter' );
+
}
$GLOBALS['wgHooks']['LinkEnd'][] = 'PFFormLinker::setBrokenLink';
diff --git a/i18n/en.json b/i18n/en.json
index ebefa68..8314239 100644
--- a/i18n/en.json
+++ b/i18n/en.json
@@ -107,6 +107,8 @@
"pf_createform_template": "Template:",
"pf_createform_templatelabelinput": "Template label (optional):",
"pf_createform_allowmultiple": "Allow for multiple (or zero) instances
of this template in the created page",
+ "pf_createform_disableoutside": "Disable Outside Services",
+ "pf_createform_enableoutside": "Enable Outside Services",
"pf_createform_field": "Field:",
"pf_createform_fieldprop": "This field defines the property $1, of type
$2.",
"pf_createform_fieldproplist": "This field defines a list of elements
that have the property $1, of type $2.",
diff --git a/includes/PF_FormPrinter.php b/includes/PF_FormPrinter.php
index 3895982..2adee7f 100644
--- a/includes/PF_FormPrinter.php
+++ b/includes/PF_FormPrinter.php
@@ -12,6 +12,7 @@
* @file
* @ingroup PF
*/
+global $wgPageFormsDisableOutsideServices;
class PFFormPrinter {
@@ -59,11 +60,12 @@
$this->registerInputType( 'PFRatingInput' );
// Add this if the Semantic Maps extension is not
// included, or if it's SM (really Maps) v4.0 or higher.
- if ( !defined( 'SM_VERSION' ) || version_compare( SM_VERSION,
'4.0', '>=' ) ) {
- $this->registerInputType( 'PFGoogleMapsInput' );
+ if( !$GLOBALS['wgPageFormsDisableOutsideServices'] ){
+ if ( !defined( 'SM_VERSION' ) || version_compare(
SM_VERSION, '4.0', '>=' ) ) {
+ $this->registerInputType( 'PFGoogleMapsInput' );
+ }
+ $this->registerInputType( 'PFOpenLayersInput' );
}
- $this->registerInputType( 'PFOpenLayersInput' );
-
// All-purpose setup hook.
Hooks::run( 'PageForms::FormPrinterSetup', array( $this ) );
}
diff --git a/includes/PF_Hooks.php b/includes/PF_Hooks.php
index f2859da..bee038f 100644
--- a/includes/PF_Hooks.php
+++ b/includes/PF_Hooks.php
@@ -54,6 +54,7 @@
// extensions can hook into it to add their own
// input types.
$GLOBALS['wgPageFormsFormPrinter'] = new StubObject(
'wgPageFormsFormPrinter', 'PFFormPrinter' );
+ $GLOBALS['wgPageFormsDisableOutsideServices'] = new StubObject(
'wgPageFormsDisableOutsideServices', 'PFFromPrinter' );
}
/**
diff --git a/specials/PF_CreateForm.php b/specials/PF_CreateForm.php
index 6cc4c5a..20d6ee2 100644
--- a/specials/PF_CreateForm.php
+++ b/specials/PF_CreateForm.php
@@ -54,6 +54,7 @@
}
function doSpecialCreateForm( $query ) {
+ global $wgPageFormsDisableOutsideServices;
$out = $this->getOutput();
$req = $this->getRequest();
$db = wfGetDB( DB_SLAVE );
@@ -258,6 +259,15 @@
// If a submit button was pressed, create the form-definition
// file, then redirect.
$save_page = $req->getCheck( 'wpSave' );
+ $wgPageFormsDisableOutsideServices = 0;
+ $enable_service = $req->getCheck( 'enableoutside');
+ $disable_service = $req->getCheck( 'disableoutside' );
+ if( $disable_service ){
+ $wgPageFormsDisableOutsideServices = 1;
+ }
+ if( $enable_service ){
+ $wgPageFormsDisableOutsideServices = 0;
+ }
$preview_page = $req->getCheck( 'wpPreview' );
if ( $save_page || $preview_page ) {
$validToken = $this->getUser()->matchEditToken(
$req->getVal( 'csrf' ), 'CreateForm' );
@@ -291,6 +301,16 @@
}
$text .= "</p>\n";
}
+
+ $disableAttrs = array( 'id' => 'disableoutside' );
+ $enableAttrs = array( 'id' => 'enableoutside');
+ $enable_button = "\t" . Html::input( 'enableoutside',
wfMessage( 'pf_createform_enableoutside' )->text(), 'submit', $enableAttrs )
."\n";
+ $text .= "\t" . Html::rawElement( 'div', array( 'class' =>
'editButtons' ),
+ Html::rawElement( 'p', array(), $enable_button ) .
"\n" ) . "\n";
+
+ $disable_button = "\t" . Html::input( 'disableoutside',
wfMessage( 'pf_createform_disableoutside' )->text(), 'submit', $disableAttrs )
. "\n";
+ $text .= "\t" . Html::rawElement( 'div', array( 'class' =>
'editButtons' ),
+ Html::rawElement( 'p', array(), $disable_button ) .
"\n" ) . "\n";
$text .= $this->formCreationHTML( $form );
@@ -441,6 +461,7 @@
$template_str = wfMessage( 'pf_createform_template'
)->escaped();
$template_label_input = wfMessage(
'pf_createform_templatelabelinput' )->escaped();
$allow_multiple_text = wfMessage( 'pf_createform_allowmultiple'
)->escaped();
+ $disable_outside_service_text = wfMessage(
'pf_createform_disableoutside' )->escaped();
$text = Html::hidden( "template_$template_num",
$tif->getTemplateName() );
$text .= '<div class="templateForm">';
@@ -463,6 +484,7 @@
);
$text .= "\t" . Html::rawElement( 'p', null,
$removeTemplateButton ) . "\n";
$text .= " </div>\n";
+
return $text;
}
--
To view, visit https://gerrit.wikimedia.org/r/342307
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I032f3b2b260f7672c2584e85e601fd9c33291b1a
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/PageForms
Gerrit-Branch: master
Gerrit-Owner: Harjotsingh <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits