<?php
require( 'maintenance/commandLine.inc' );

$name1 = 'Test2%E2%80%93_%E0%A6%85%E0%A6%B8%E0%A6%AE%E0%A7%80%E0%A6%AF%E0%A6%BC%E0%A6%BE_%282%29';
$name2 = 'Test2%E2%80%93_%E0%A6%85%E0%A6%B8%E0%A6%AE%E0%A7%80%E0%A7%9F%E0%A6%BE_%282%29';

$wgUser = User::newFromId( '1' );

$title1 = Title::newFromText( rawurldecode( $name1 ) );
$page1 = WikiPage::factory( $title1 );
$status1 = $page1->doEdit( 'kissa' . wfTimestamp(), 'summary' );

$value1 = $status1->getValue();
echo "\nFor title1\n";
var_dump( $value1['revision']->getTitle()->getArticleId(), $title1->getPrefixedDBKey() );

$title2 = Title::newFromText( rawurldecode( $name2 ) );
$page2 = WikiPage::factory( $title2 );
$status2 = $page2->doEdit( 'kissa' . wfTimestamp(), 'summary' );

$value2 = $status2->getValue();
echo "\nFor title2\n";
var_dump( $value2['revision']->getTitle()->getArticleId(), $title2->getPrefixedDBKey() );

/* F** API. Really! It is impossible to execute FauxRequest on cli
 * as logged in user. */
$wgGroupPermissions['*']['edit'] = true;
$wgGroupPermissions['*']['create'] = true;
$wgGroupPermissions['*']['createpage'] = true;

$requestData = array(
	'action' => 'edit',
	'title' => $title2->getPrefixedText(),
	'text' => 'ploppa' . wfTimestamp(),
	'summary' => 'test',
	'token' => '+\\',
);


$editReq = new FauxRequest( $requestData, true );
$internalApi = new ApiMain( $editReq, true );
$internalApi->execute();
$editResult = $internalApi->getResultData();

echo "\nFor title2 again via API\n";
var_dump( $editResult['edit']['pageid'], $editResult['edit']['title'] );
