Example #1
0
define('MW_API', true);
// Set a dummy $wgTitle, because $wgTitle == null breaks various things
// In a perfect world this wouldn't be necessary
$wgTitle = Title::makeTitle(NS_MAIN, 'API');
/* Construct an ApiMain with the arguments passed via the URL. What we get back
 * is some form of an ApiMain, possibly even one that produces an error message,
 * but we don't care here, as that is handled by the ctor.
 */
$processor = new ApiMain($wgRequest, $wgEnableWriteAPI);
// Process data & print results
$processor->execute();
// Execute any deferred updates
wfDoUpdates();
// Log what the user did, for book-keeping purposes.
$endtime = microtime(true);
wfProfileOut('api.php');
wfLogProfilingData();
// Log the request
if ($wgAPIRequestLog) {
    $items = array(wfTimestamp(TS_MW), $endtime - $starttime, wfGetIP(), $_SERVER['HTTP_USER_AGENT']);
    $items[] = $wgRequest->wasPosted() ? 'POST' : 'GET';
    if ($processor->getModule()->mustBePosted()) {
        $items[] = "action=" . $wgRequest->getVal('action');
    } else {
        $items[] = wfArrayToCGI($wgRequest->getValues());
    }
    wfErrorLog(implode(',', $items) . "\n", $wgAPIRequestLog);
    wfDebug("Logged API request to {$wgAPIRequestLog}\n");
}
// Shut down the database
wfGetLBFactory()->shutdown();
Example #2
0
$wgTitle = Title::makeTitle(NS_MAIN, 'API');
/* Construct an ApiMain with the arguments passed via the URL. What we get back
 * is some form of an ApiMain, possibly even one that produces an error message,
 * but we don't care here, as that is handled by the ctor.
 */
$processor = new ApiMain(RequestContext::getMain(), $wgEnableWriteAPI);
// Process data & print results
$processor->execute();
// Execute any deferred updates
DeferredUpdates::doUpdates();
// Log what the user did, for book-keeping purposes.
$endtime = microtime(true);
wfProfileOut('api.php');
wfLogProfilingData();
// Log the request
if ($wgAPIRequestLog) {
    $items = array(wfTimestamp(TS_MW), $endtime - $starttime, $wgRequest->getIP(), $_SERVER['HTTP_USER_AGENT']);
    $items[] = $wgRequest->wasPosted() ? 'POST' : 'GET';
    $module = $processor->getModule();
    if ($module->mustBePosted()) {
        $items[] = "action=" . $wgRequest->getVal('action');
    } else {
        $items[] = wfArrayToCGI($wgRequest->getValues());
    }
    wfErrorLog(implode(',', $items) . "\n", $wgAPIRequestLog);
    wfDebug("Logged API request to {$wgAPIRequestLog}\n");
}
// Shut down the database.  foo()->bar() syntax is not supported in PHP4: we won't ever actually
// get here to worry about whether this should be = or =&, but the file has to parse properly.
$lb = wfGetLBFactory();
$lb->shutdown();