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 <harjo...@ymail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to