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; } $text = substr($page_data,(stripos($page_data,$to)-300),700); $text = strip_tags($text); $text = str_replace("\n",' ',$text); $commentText = "[url=" . $from . "]" . $title . "[/url]\n\n[....] " . $text . " [....]"; $getping = "SELECT * FROM comments WHERE page_id = \"updates-" . $getpost3['id'] . "\" AND comment = \"" . addslashes($commentText) . "\""; $getping2 = mysql_query($getping); $getping3 = mysql_fetch_array($getping2); if ($getping3['comment'] == $commentText) { return new xmlrpcresp(0, 48, "Target uri cannot be used as target"); } else { $insping = "INSERT INTO comments (page_id,username,comment) VALUES (\"updates-" . $getpost3['id'] . "\",\"Pingback\",\"" . $commentText . "\")"; $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"); } } function rr($xmlrpcmsg) { return new xmlrpcresp(new xmlrpcval(0, "int")); } $s = new xmlrpc_server(array( "pingback.ping" => array("function" => "ping"), "InstaDisc.checkRegistration" => array("function" => "rr"))); ?>