getParam(0)->scalarVal(); $to = $xmlrpcmsg->getParam(1)->scalarVal(); if (preg_match('/^http:\/\/w?w?w?\.?fourisland\.com\/blog\/([-a-z0-9]+)\/$/',$to)) { $slug = preg_replace('/^http:\/\/w?w?w?\.?fourisland\.com\/blog\/([-a-z0-9]+)\/$/','$1',$to); $getpost = "SELECT * FROM updates WHERE slug = \"" . $slug . "\""; $getpost2 = mysql_query($getpost); $getpost3 = mysql_fetch_array($getpost2); if ($getpost3['slug'] == $slug) { $c = curl_init(); curl_setopt($c, CURLOPT_URL, $from); curl_setopt($c, CURLOPT_RETURNTRANSFER, true); curl_setopt($c, CURLOPT_HEADER, false); $page_data = curl_exec($c); curl_close($c); if (stripos($page_data,$to) !== FALSE) { if (preg_match('/([^>]+)<\/TITLE>/i',$page_data,$matches)) { $title = $matches[1]; } else { $title = $from; } $getping = "SELECT * FROM pingbacks WHERE post_id = " . $getpost3['id'] . " AND url = \"" . mysql_real_escape_string($from) . "\""; $getping2 = mysql_query($getping); $getping3 = mysql_fetch_array($getping2); if ($getping3['url'] == $from) { return new xmlrpcresp(0, 48, "Target uri cannot be used as target"); } else { $insping = "INSERT INTO pingbacks (post_id,title,url) VALUES (" . $getpost3['id'] . ",\"" . mysql_real_escape_string($title) . "\",\"" . mysql_real_escape_string($from) . "\")"; $insping2 = mysql_query($insping); recalcPop($getpost3['id']); return new xmlrpcresp(new xmlrpcval("YAY! Your Pingback has been registered!", "string")); } } else { return new xmlrpcresp(0, 17, "Source uri does have link to target uri"); } } else { return new xmlrpcresp(0, 32, "Target uri does not exist"); } } else { return new xmlrpcresp(0, 33, "Target uri cannot be used as target"); } } $s = new xmlrpc_server(array( "pingback.ping" => array("function" => "ping"))); ?>