<?php
/**
* Provide functions to handle article trackbacks.
- * @package MediaWiki
- * @subpackage SpecialPage
+ * @file
+ * @ingroup SpecialPage
*/
-require_once( './includes/WebStart.php' );
-require_once('DatabaseFunctions.php');
+require_once( './includes/WebStart.php' );
-/**
- *
- */
function XMLsuccess() {
- echo "
-<?xml version=\"1.0\" encoding=\"utf-8\"?>
+ header( "Content-Type: application/xml; charset=utf-8" );
+ echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>
<response>
<error>0</error>
</response>
exit;
}
-function XMLerror($err = "Invalid request.") {
- header("HTTP/1.0 400 Bad Request");
- echo "
-<?xml version=\"1.0\" encoding=\"utf-8\"?>
+function XMLerror( $err = "Invalid request." ) {
+ header( "HTTP/1.0 400 Bad Request" );
+ header( "Content-Type: application/xml; charset=utf-8" );
+ echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>
<response>
<error>1</error>
<message>Invalid request: $err</message>
exit;
}
-if (!$wgUseTrackbacks)
+if( !$wgUseTrackbacks )
XMLerror("Trackbacks are disabled.");
-if ( !isset($_POST['url'])
- || !isset($_POST['blog_name'])
- || !isset($_REQUEST['article']))
+if( !isset( $_POST['url'] )
+ || !isset( $_REQUEST['article'] ) )
XMLerror("Required field not specified");
-$dbw =& wfGetDB(DB_MASTER);
+$dbw = wfGetDB( DB_MASTER );
-$tbtitle = $_POST['title'];
-$tbex = $_POST['excerpt'];
-$tburl = $_POST['url'];
-$tbname = $_POST['blog_name'];
-$tbarticle = $_REQUEST['article'];
+$tbtitle = strval( @$_POST['title'] );
+$tbex = strval( @$_POST['excerpt'] );
+$tburl = strval( $_POST['url'] );
+$tbname = strval( @$_POST['blog_name'] );
+$tbarticle = strval( $_REQUEST['article'] );
$title = Title::newFromText($tbarticle);
-if (!isset($title) || !$title->exists())
- XMLerror("Specified article does not exist.");
+if( !$title || !$title->exists() )
+ XMLerror( "Specified article does not exist." );
$dbw->insert('trackbacks', array(
'tb_page' => $title->getArticleID(),
'tb_name' => $tbname
));
+$dbw->commit();
+
XMLsuccess();
-exit;
-?>