You signed in with another tab or window.Reload to refresh your session.You signed out in another tab or window.Reload to refresh your session.You switched accounts on another tab or window.Reload to refresh your session.Dismiss alert
Use composer to install the library and all its dependencies:
composer require "addwiki/mediawiki-api:~3.0"
Example Usage
// Load all the stuffrequire_once(__DIR__ .'/vendor/autoload.php' );// Create an authenticated API and services$auth =new \Addwiki\Mediawiki\Api\Client\Auth\UserAndPassword('username','password' )$api =new \Addwiki\Mediawiki\Api\Client\Action\ActionApi('http://localhost/w/api.php',$auth );$services =new \Addwiki\Mediawiki\Api\MediawikiFactory($api );// Get a page$page =$services->newPageGetter()->getFromTitle('Foo' );// Edit a page$content =new \Addwiki\Mediawiki\DataModel\Content('New Text' );$revision =new \Addwiki\Mediawiki\DataModel\Revision($content,$page->getPageIdentifier() );$services->newRevisionSaver()->save($revision );// Move a page$services->newPageMover()->move($services->newPageGetter()->getFromTitle('FooBar' ),newTitle('FooBar' ));// Delete a page$services->newPageDeleter()->delete($services->newPageGetter()->getFromTitle('DeleteMe!' ),array('reason' =>'Reason for Deletion' ));// Create a new page$newContent =new \Addwiki\Mediawiki\DataModel\Content('Hello World' );$title =new \Addwiki\Mediawiki\DataModel\Title('New Page' );$identifier =new \Addwiki\Mediawiki\DataModel\PageIdentifier($title );$revision =new \Addwiki\Mediawiki\DataModel\Revision($newContent,$identifier );$services->newRevisionSaver()->save($revision );// List all pages in a category$pages =$services->newPageListGetter()->getPageListFromCategoryName('Category:Cat name' );
Running the integration tests
To run the integration tests, you need to have a running MediaWiki instance. The tests will create pages and categories without using a user account so it's best if you use a test instance. Furthermore you need to turn off rate limiting by adding the line
$wgGroupPermissions['*']['noratelimit'] = true;
to theLocalSettings.php of your MediaWiki.
By default, the tests will use the URLhttp://localhost/w/api.php as the API endpoint. If you have a different URL (e.g.http://localhost:8080/w/api.php), you need to configure the URL as an environment variable before running the tests. Example: