Add format=dump and format=dumpfm, outputs results in PHP's var_dump() format. Findin...
authorX! <soxred93@users.mediawiki.org>
Mon, 9 Aug 2010 00:19:55 +0000 (00:19 +0000)
committerX! <soxred93@users.mediawiki.org>
Mon, 9 Aug 2010 00:19:55 +0000 (00:19 +0000)
RELEASE-NOTES
includes/AutoLoader.php
includes/api/ApiFormatDump.php [new file with mode: 0644]
includes/api/ApiMain.php

index 408bb95..5cdabfb 100644 (file)
@@ -341,6 +341,7 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
 * (bug 24330) Add &redirect parameter to ?action=edit 
 * (bug 24722) For list=allusers&auprop=blockinfo, only show blockedby and blockreason if 
   the user is actually blocked.
+* Add format=dump and format=dumpfm, outputs results in PHP's var_dump() format. 
 
 === Languages updated in 1.17 ===
 
index bc0e477..fcf022f 100644 (file)
@@ -260,6 +260,7 @@ $wgAutoloadLocalClasses = array(
        'ApiFeedWatchlist' => 'includes/api/ApiFeedWatchlist.php',
        'ApiFormatBase' => 'includes/api/ApiFormatBase.php',
        'ApiFormatDbg' => 'includes/api/ApiFormatDbg.php',
+       'ApiFormatDump' => 'includes/api/ApiFormatDump.php',
        'ApiFormatFeedWrapper' => 'includes/api/ApiFormatBase.php',
        'ApiFormatJson' => 'includes/api/ApiFormatJson.php',
        'ApiFormatPhp' => 'includes/api/ApiFormatPhp.php',
diff --git a/includes/api/ApiFormatDump.php b/includes/api/ApiFormatDump.php
new file mode 100644 (file)
index 0000000..6197563
--- /dev/null
@@ -0,0 +1,64 @@
+<?php
+/**
+ * API for MediaWiki 1.8+
+ *
+ * Created on August 8, 2010
+ *
+ * Copyright © 2010 Soxred93
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
+
+if ( !defined( 'MEDIAWIKI' ) ) {
+       // Eclipse helper - will be ignored in production
+       require_once( 'ApiFormatBase.php' );
+}
+
+/**
+ * API PHP's var_dump() output formatter
+ * @ingroup API
+ */
+class ApiFormatDump extends ApiFormatBase {
+
+       public function __construct( $main, $format ) {
+               parent::__construct( $main, $format );
+       }
+
+       public function getMimeType() {
+               // This looks like it should be text/plain, but IE7 is so
+               // brain-damaged it tries to parse text/plain as HTML if it
+               // contains HTML tags. Using MIME text/text works around this bug
+               return 'text/text';
+       }
+
+       public function execute() {
+               ob_start();
+               var_dump( $this->getResultData() );
+               $result = ob_get_contents();
+               ob_end_clean();
+               $this->printText( $result );
+       }
+
+       public function getDescription() {
+               return 'Output data in PHP\'s var_dump() format' . parent::getDescription();
+       }
+
+       public function getVersion() {
+               return __CLASS__ . ': $Id$';
+       }
+}
index bd85f5d..b31ed6a 100644 (file)
@@ -100,7 +100,9 @@ class ApiMain extends ApiBase {
                'txt' => 'ApiFormatTxt',
                'txtfm' => 'ApiFormatTxt',
                'dbg' => 'ApiFormatDbg',
-               'dbgfm' => 'ApiFormatDbg'
+               'dbgfm' => 'ApiFormatDbg',
+               'dump' => 'ApiFormatDump',
+               'dumpfm' => 'ApiFormatDump',
        );
 
        /**