From 13238548fbcd3e38144935340503bb663104b122 Mon Sep 17 00:00:00 2001 From: Daniel Kraus Date: Sat, 19 May 2012 16:21:20 +0200 Subject: [PATCH] Try to get internal API calls to work --- .gitignore | 8 +++--- LinkTitles.body.php | 60 +++++++++++++++++++++++++++++++++++++++++++++ LinkTitles.php | 45 ++++++++++++++++++++++++++++++++++ 3 files changed, 108 insertions(+), 5 deletions(-) create mode 100755 LinkTitles.body.php create mode 100755 LinkTitles.php diff --git a/.gitignore b/.gitignore index 8438a62..34cf122 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,3 @@ -tmp/* -config/database.php -app/tmp/* -app/config/database.php -!empty \ No newline at end of file +*~ +*# +*.swp diff --git a/LinkTitles.body.php b/LinkTitles.body.php new file mode 100755 index 0000000..da290f1 --- /dev/null +++ b/LinkTitles.body.php @@ -0,0 +1,60 @@ + + * + * 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. + */ + + if ( !defined( 'MEDIAWIKI' ) ) { + die( 'Not an entry point.' ); + } + + function dump($var) { + error_log(print_r($var, TRUE), 3, 'php://stderr'); + }; + + class LinkTitles { + /// Default setup function. + public static function Setup( &$parser ) { + return true; + } + + /// This function is hooked to the ArticleSave event. + /// It will be called whenever a page is about to be + /// saved. + public static function onArticleSave( &$article, &$user, &$text, &$summary, + $minor, $watchthis, $sectionanchor, &$flags, &$status ) { + error_reporting(E_ALL); + ini_set('display_errors', 'Off'); + ini_set('error_log', 'php://stderr'); + global $wgRequest; + $params = new DerivativeRequest( + $wgRequest, + array( + 'action' => 'query', + 'list' => 'allpages') + ); + // $api = new ApiMain( $params, false ); // false: do not edit page + // $api->execute(); + // $data = & $api->getResultData(); + // dump($data); + return true; + } + + } + // vim: ts=2:sw=2:noet diff --git a/LinkTitles.php b/LinkTitles.php new file mode 100755 index 0000000..c084c14 --- /dev/null +++ b/LinkTitles.php @@ -0,0 +1,45 @@ + + * + * 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. + */ + if ( !defined( 'MEDIAWIKI' ) ) { + die( 'Not an entry point.' ); + } + + $wgExtensionCredits['parserhook'][] = array( + 'path' => __FILE__, + 'name' => 'LinkTitles', + 'author' => '[http://www.mediawiki.org/wiki/User:Bovender Daniel Kraus]', + 'url' => 'http://www.mediawiki.org/wiki/Extension:LinkTitles', + 'version' => '0.0.1', + 'descriptionmsg' => 'linktitles-desc' + ); + + $wgExtensionMessagesFiles['LinkTitles'] = dirname( __FILE__ ) . '/LinkTitles.i18n.php'; + + $wgAutoloadClasses['LinkTitles'] = dirname(__FILE__) . '/LinkTitles.body.php'; + $wgAutoloadClasses['LinkTitlesFetcher'] = dirname(__FILE__) . '/LinkTitlesFetcher.body.php'; + + // Define a setup function + $wgHooks['ParserFirstCallInit'][] = 'LinkTitles::Setup'; + $wgHooks['ArticleSave'][] = 'LinkTitles::onArticleSave'; + + // vim: ts=2:sw=2:noet +