blob: bcb6376800b9c2fe7460f46431d29c489439b7f5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
<?php
/**
* Provide functions to handle article trackbacks.
* @file
* @ingroup SpecialPage
*/
require_once( './includes/WebStart.php' );
require_once( './includes/DatabaseFunctions.php' );
/**
*
*/
function XMLsuccess() {
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");
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>
</response>
";
exit;
}
if (!$wgUseTrackbacks)
XMLerror("Trackbacks are disabled.");
if ( !isset($_POST['url'])
|| !isset($_REQUEST['article']))
XMLerror("Required field not specified");
$dbw = wfGetDB(DB_MASTER);
$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.");
$dbw->insert('trackbacks', array(
'tb_page' => $title->getArticleID(),
'tb_title' => $tbtitle,
'tb_url' => $tburl,
'tb_ex' => $tbex,
'tb_name' => $tbname
));
$dbw->commit();
XMLsuccess();
?>
|