No need to revert r30078: HTML-formatting the data is enough. Attacks like api.php...
authorRoan Kattouw <catrope@users.mediawiki.org>
Thu, 24 Jan 2008 13:12:03 +0000 (13:12 +0000)
committerRoan Kattouw <catrope@users.mediawiki.org>
Thu, 24 Jan 2008 13:12:03 +0000 (13:12 +0000)
RELEASE-NOTES
includes/AutoLoader.php
includes/api/ApiFormatDbg.php [new file with mode: 0644]
includes/api/ApiFormatTxt.php [new file with mode: 0644]
includes/api/ApiMain.php

index d17735e..8ea891c 100644 (file)
@@ -465,6 +465,7 @@ Full API documentation is available at http://www.mediawiki.org/wiki/API
 * Added apfilterlanglinks parameter to list=allpages, replacing query.php?what=nolanglinks
 * (bug 12718) Added action=paraminfo module that provides information about API modules and their parameters
 * Added iiurlwidth and iiurlheight parameters to prop=imageinfo
+* Added format=txt and format=dbg, imported from query.php
 * Added uiprop=editcount to meta=userinfo
 
 === Languages updated in 1.12 ===
index 8509c61..e3d3b9e 100644 (file)
@@ -320,6 +320,8 @@ function __autoload($className) {
                'ApiFormatPhp' => 'includes/api/ApiFormatPhp.php',
                'ApiFormatWddx' => 'includes/api/ApiFormatWddx.php',
                'ApiFormatXml' => 'includes/api/ApiFormatXml.php',
+               'ApiFormatTxt' => 'includes/api/ApiFormatTxt.php',
+               'ApiFormatDbg' => 'includes/api/ApiFormatDbg.php',
                'Spyc' => 'includes/api/ApiFormatYaml_spyc.php',
                'ApiFormatYaml' => 'includes/api/ApiFormatYaml.php',
                'ApiHelp' => 'includes/api/ApiHelp.php',
diff --git a/includes/api/ApiFormatDbg.php b/includes/api/ApiFormatDbg.php
new file mode 100644 (file)
index 0000000..98e94c6
--- /dev/null
@@ -0,0 +1,56 @@
+<?php\r
+\r
+/*\r
+ * Created on Oct 22, 2006\r
+ *\r
+ * API for MediaWiki 1.8+\r
+ *\r
+ * Copyright (C) 2008 Roan Kattouw <Firstname>.<Lastname>@home.nl\r
+ *\r
+ * This program is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 2 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License along\r
+ * with this program; if not, write to the Free Software Foundation, Inc.,\r
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\r
+ * http://www.gnu.org/copyleft/gpl.html\r
+ */\r
+\r
+if (!defined('MEDIAWIKI')) {\r
+       // Eclipse helper - will be ignored in production\r
+       require_once ('ApiFormatBase.php');\r
+}\r
+\r
+/**\r
+ * @addtogroup API\r
+ */\r
+class ApiFormatDbg extends ApiFormatBase {\r
+\r
+       public function __construct($main, $format) {\r
+               parent :: __construct($main, $format);\r
+       }\r
+\r
+       public function getMimeType() {\r
+               return 'text/html';\r
+       }\r
+\r
+       public function execute() {\r
+               $this->printText($this->formatHTML(var_export($this->getResultData(), true)));\r
+       }\r
+\r
+       protected function getDescription() {\r
+               return 'Output data in PHP\'s var_export() format' . parent :: getDescription();\r
+       }\r
+\r
+       public function getVersion() {\r
+               return __CLASS__ . ': $Id: ApiFormatPhp.php 23531 2007-06-29 01:19:14Z simetrical $';\r
+       }\r
+}\r
+\r
diff --git a/includes/api/ApiFormatTxt.php b/includes/api/ApiFormatTxt.php
new file mode 100644 (file)
index 0000000..819ae88
--- /dev/null
@@ -0,0 +1,56 @@
+<?php\r
+\r
+/*\r
+ * Created on Oct 22, 2006\r
+ *\r
+ * API for MediaWiki 1.8+\r
+ *\r
+ * Copyright (C) 2008 Roan Kattouw <Firstname>.<Lastname>@home.nl\r
+ *\r
+ * This program is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 2 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License along\r
+ * with this program; if not, write to the Free Software Foundation, Inc.,\r
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\r
+ * http://www.gnu.org/copyleft/gpl.html\r
+ */\r
+\r
+if (!defined('MEDIAWIKI')) {\r
+       // Eclipse helper - will be ignored in production\r
+       require_once ('ApiFormatBase.php');\r
+}\r
+\r
+/**\r
+ * @addtogroup API\r
+ */\r
+class ApiFormatTxt extends ApiFormatBase {\r
+\r
+       public function __construct($main, $format) {\r
+               parent :: __construct($main, $format);\r
+       }\r
+\r
+       public function getMimeType() {\r
+               return 'text/html';\r
+       }\r
+\r
+       public function execute() {\r
+               $this->printText($this->formatHTML(print_r($this->getResultData(), true)));\r
+       }\r
+\r
+       protected function getDescription() {\r
+               return 'Output data in PHP\'s print_r() format' . parent :: getDescription();\r
+       }\r
+\r
+       public function getVersion() {\r
+               return __CLASS__ . ': $Id: ApiFormatPhp.php 23531 2007-06-29 01:19:14Z simetrical $';\r
+       }\r
+}\r
+\r
index ce69502..e60cf25 100644 (file)
@@ -89,7 +89,9 @@ class ApiMain extends ApiBase {
                'xmlfm' => 'ApiFormatXml',
                'yaml' => 'ApiFormatYaml',
                'yamlfm' => 'ApiFormatYaml',
-               'rawfm' => 'ApiFormatJson'
+               'rawfm' => 'ApiFormatJson',
+               'txt' => 'ApiFormatTxt',
+               'dbg' => 'ApiFormatDbg'
        );
 
        private $mPrinter, $mModules, $mModuleNames, $mFormats, $mFormatNames;