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();
$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();