xmlify($baseurl), '$feed_title' => xmlify('Wall Item'), '$feed_updated' => xmlify(datetime_convert('UTC','UTC',$item['edited'] . '+00:00' ,'Y-m-d\Th:i:s\Z')) , '$name' => xmlify($item['name']), '$profile_page' => xmlify($item['url']), '$thumb' => xmlify($item['thumb']), '$item_id' => xmlify($item['hash'] . '-' . $item['id']), '$title' => xmlify(''), '$link' => xmlify($baseurl . '/item/' . $item['id']), '$updated' => xmlify(datetime_convert('UTC','UTC',$item['edited'] . '+00:00' ,'Y-m-d\Th:i:s\Z')), '$summary' => xmlify(''), '$content' => xmlify($item['body']) )); print_r($atom); // atomify // expand list of recipients dbg(3); $recipients = array_unique($recipients); print_r($recipients); $recip_str = implode(', ', $recipients); $r = q("SELECT * FROM `contact` WHERE `id` IN ( %s ) ", dbesc($recip_str) ); if(! count($r)) killme(); // delivery loop foreach($r as $rr) { if($rr['self']) continue; if(! strlen($rr['dfrn-id'])) continue; $url = $rr['notify'] . '?dfrn_id=' . $rr['dfrn-id']; print_r($url); $xml = fetch_url($url); echo $xml; print_r($xml); if(! $xml) continue; $res = simplexml_load_string($xml); print_r($res); var_dump($res); if((intval($res->status) != 0) || (! strlen($res->challenge)) || ($res->dfrn_id != $rr['dfrn-id'])) continue; $postvars = array(); $postvars['dfrn_id'] = $rr['dfrn-id']; $challenge = hex2bin($res->challenge); echo "dfrn-id:" . $res->dfrn_id . "\r\n"; echo "challenge:" . $res->challenge . "\r\n"; echo "pubkey:" . $rr['pubkey'] . "\r\n"; openssl_public_decrypt($challenge,$postvars['challenge'],$rr['pubkey']); $postvars['data'] = $atom; print_r($postvars); $xml = fetch_url($url,$postvars); } killme();