preliminary network abstraction, configurable debugging.
This commit is contained in:
		
					parent
					
						
							
								0ebd4aa783
							
						
					
				
			
			
				commit
				
					
						b91494d22e
					
				
			
		
					 10 changed files with 176 additions and 141 deletions
				
			
		
							
								
								
									
										4
									
								
								boot.php
									
										
									
									
									
								
							
							
						
						
									
										4
									
								
								boot.php
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -605,10 +605,12 @@ if(! function_exists('get_config')) {
 | 
			
		|||
function get_config($family, $key, $instore = false) {
 | 
			
		||||
 | 
			
		||||
	global $a;
 | 
			
		||||
 | 
			
		||||
	if(! $instore) {
 | 
			
		||||
		if(isset($a->config[$family][$key])) {
 | 
			
		||||
			if($a->config[$family][$key] == '!<unset>!')
 | 
			
		||||
			if($a->config[$family][$key] === '!<unset>!') {
 | 
			
		||||
				return false;
 | 
			
		||||
			}
 | 
			
		||||
			return $a->config[$family][$key];
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -464,3 +464,93 @@ function item_store($arr) {
 | 
			
		|||
 | 
			
		||||
	return $current_post;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function get_item_contact($item,$contacts) {
 | 
			
		||||
	if(! count($contacts) || (! is_array($item)))
 | 
			
		||||
		return false;
 | 
			
		||||
	foreach($contacts as $contact) {
 | 
			
		||||
		if($contact['id'] == $item['contact-id']) {
 | 
			
		||||
			return $contact;
 | 
			
		||||
			break; // NOTREACHED
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	return false;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
function dfrn_deliver($contact,$atom,$debugging = false) {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	if((! strlen($contact['dfrn-id'])) && (! $contact['duplex']))
 | 
			
		||||
		return 3;
 | 
			
		||||
 | 
			
		||||
	$idtosend = $orig_id = (($contact['dfrn-id']) ? $contact['dfrn-id'] : $contact['issued-id']);
 | 
			
		||||
 | 
			
		||||
	if($contact['duplex'] && $contact['dfrn-id'])
 | 
			
		||||
		$idtosend = '0:' . $orig_id;
 | 
			
		||||
	if($contact['duplex'] && $contact['issued-id'])
 | 
			
		||||
		$idtosend = '1:' . $orig_id;		
 | 
			
		||||
 | 
			
		||||
	$url = $contact['notify'] . '?dfrn_id=' . $idtosend;
 | 
			
		||||
 | 
			
		||||
	if($debugging)
 | 
			
		||||
		echo "URL: $url";
 | 
			
		||||
 | 
			
		||||
	$xml = fetch_url($url);
 | 
			
		||||
 | 
			
		||||
	if($debugging)
 | 
			
		||||
		echo $xml;
 | 
			
		||||
 | 
			
		||||
	if(! $xml)
 | 
			
		||||
		return 3;
 | 
			
		||||
 | 
			
		||||
	$res = simplexml_load_string($xml);
 | 
			
		||||
 | 
			
		||||
	if((intval($res->status) != 0) || (! strlen($res->challenge)) || (! strlen($res->dfrn_id)))
 | 
			
		||||
		return (($res->status) ? $res->status : 3);
 | 
			
		||||
 | 
			
		||||
	$postvars     = array();
 | 
			
		||||
	$sent_dfrn_id = hex2bin($res->dfrn_id);
 | 
			
		||||
	$challenge    = hex2bin($res->challenge);
 | 
			
		||||
 | 
			
		||||
	$final_dfrn_id = '';
 | 
			
		||||
 | 
			
		||||
	if($contact['duplex'] && strlen($contact['prvkey'])) {
 | 
			
		||||
		openssl_private_decrypt($sent_dfrn_id,$final_dfrn_id,$contact['prvkey']);
 | 
			
		||||
		openssl_private_decrypt($challenge,$postvars['challenge'],$contact['prvkey']);
 | 
			
		||||
	}
 | 
			
		||||
	else {
 | 
			
		||||
		openssl_public_decrypt($sent_dfrn_id,$final_dfrn_id,$contact['pubkey']);
 | 
			
		||||
		openssl_public_decrypt($challenge,$postvars['challenge'],$contact['pubkey']);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	$final_dfrn_id = substr($final_dfrn_id, 0, strpos($final_dfrn_id, '.'));
 | 
			
		||||
 | 
			
		||||
	if(strpos($final_dfrn_id,':') == 1)
 | 
			
		||||
		$final_dfrn_id = substr($final_dfrn_id,2);
 | 
			
		||||
 | 
			
		||||
	if($final_dfrn_id != $orig_id) {
 | 
			
		||||
		// did not decode properly - cannot trust this site 
 | 
			
		||||
		return 3;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	$postvars['dfrn_id'] = $idtosend;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	if(($contact['rel']) && ($contact['rel'] != REL_FAN) && (! $contact['blocked']) && (! $contact['readonly'])) {
 | 
			
		||||
		$postvars['data'] = $atom;
 | 
			
		||||
	}
 | 
			
		||||
	else {
 | 
			
		||||
		$postvars['data'] = str_replace('<dfrn:comment-allow>1','<dfrn:comment-allow>0',$atom);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	$xml = post_url($contact['notify'],$postvars);
 | 
			
		||||
 | 
			
		||||
	if($debugging)
 | 
			
		||||
		echo $xml;
 | 
			
		||||
 | 
			
		||||
	$res = simplexml_load_string($xml);
 | 
			
		||||
 | 
			
		||||
	return $res->status;
 | 
			
		||||
 
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,5 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
	$debugging = false;
 | 
			
		||||
 | 
			
		||||
	require_once("boot.php");
 | 
			
		||||
 | 
			
		||||
	$a = new App;
 | 
			
		||||
| 
						 | 
				
			
			@ -11,10 +9,14 @@
 | 
			
		|||
	$db = new dba($db_host, $db_user, $db_pass, $db_data);
 | 
			
		||||
		unset($db_host, $db_user, $db_pass, $db_data);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	$debugging = get_config('system','debugging');
 | 
			
		||||
 | 
			
		||||
	require_once("session.php");
 | 
			
		||||
	require_once("datetime.php");
 | 
			
		||||
	require_once('include/items.php');
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	if($argc < 3)
 | 
			
		||||
		exit;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -164,9 +166,8 @@
 | 
			
		|||
	}
 | 
			
		||||
	else {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		if($followup) {
 | 
			
		||||
			foreach($items as $item) {
 | 
			
		||||
			foreach($items as $item) {  // there is only one item
 | 
			
		||||
 | 
			
		||||
				$verb = construct_verb($item);
 | 
			
		||||
				$actobj = construct_activity($item);
 | 
			
		||||
| 
						 | 
				
			
			@ -182,7 +183,7 @@
 | 
			
		|||
						'$item_id'            => xmlify($item['uri']),
 | 
			
		||||
						'$title'              => xmlify($item['title']),
 | 
			
		||||
						'$published'          => xmlify(datetime_convert('UTC', 'UTC', $item['created'] . '+00:00' , ATOM_TIME)),
 | 
			
		||||
						'$updated'            => xmlify(datetime_convert('UTC', 'UTC', $item['edited'] . '+00:00' , ATOM_TIME)),
 | 
			
		||||
						'$updated'            => xmlify(datetime_convert('UTC', 'UTC', $item['edited']  . '+00:00' , ATOM_TIME)),
 | 
			
		||||
						'$location'           => xmlify($item['location']),
 | 
			
		||||
						'$type'               => 'text',
 | 
			
		||||
						'$verb'               => xmlify($verb),
 | 
			
		||||
| 
						 | 
				
			
			@ -203,51 +204,50 @@
 | 
			
		|||
					));
 | 
			
		||||
				}
 | 
			
		||||
				else {
 | 
			
		||||
					foreach($contacts as $contact) {
 | 
			
		||||
						if($item['contact-id'] == $contact['id']) {
 | 
			
		||||
					$contact = get_item_contact($item,$contacts);
 | 
			
		||||
					if(! $contact)
 | 
			
		||||
						continue;
 | 
			
		||||
 | 
			
		||||
							$verb = construct_verb($item);
 | 
			
		||||
							$actobj = construct_activity($item);
 | 
			
		||||
					$verb = construct_verb($item);
 | 
			
		||||
					$actobj = construct_activity($item);
 | 
			
		||||
 | 
			
		||||
							if($item['parent'] == $item['id']) {
 | 
			
		||||
								$atom .= replace_macros($item_template, array(
 | 
			
		||||
									'$name'               => xmlify($contact['name']),
 | 
			
		||||
									'$profile_page'       => xmlify($contact['url']),
 | 
			
		||||
									'$thumb'              => xmlify($contact['thumb']),
 | 
			
		||||
									'$owner_name'         => xmlify($item['owner-name']),
 | 
			
		||||
									'$owner_profile_page' => xmlify($item['owner-link']),
 | 
			
		||||
									'$owner_thumb'        => xmlify($item['owner-avatar']),
 | 
			
		||||
									'$item_id'            => xmlify($item['uri']),
 | 
			
		||||
									'$title'              => xmlify($item['title']),
 | 
			
		||||
									'$published'          => xmlify(datetime_convert('UTC', 'UTC', $item['created'] . '+00:00' , ATOM_TIME)),
 | 
			
		||||
									'$updated'            => xmlify(datetime_convert('UTC', 'UTC', $item['edited'] . '+00:00' , ATOM_TIME)),
 | 
			
		||||
									'$location'           => xmlify($item['location']),
 | 
			
		||||
									'$type'               => 'text',
 | 
			
		||||
									'$verb'               => xmlify($verb),
 | 
			
		||||
									'$actobj'             => $actobj,
 | 
			
		||||
									'$content'            => xmlify($item['body']),
 | 
			
		||||
									'$comment_allow'      => (($item['last-child']) ? 1 : 0)
 | 
			
		||||
								));
 | 
			
		||||
							}
 | 
			
		||||
							else {
 | 
			
		||||
								$atom .= replace_macros($cmnt_template, array(
 | 
			
		||||
									'$name'          => xmlify($contact['name']),
 | 
			
		||||
									'$profile_page'  => xmlify($contact['url']),
 | 
			
		||||
									'$thumb'         => xmlify($contact['thumb']),
 | 
			
		||||
									'$item_id'       => xmlify($item['uri']),
 | 
			
		||||
									'$title'         => xmlify($item['title']),
 | 
			
		||||
									'$published'     => xmlify(datetime_convert('UTC', 'UTC', $item['created'] . '+00:00' , ATOM_TIME)),
 | 
			
		||||
									'$updated'       => xmlify(datetime_convert('UTC', 'UTC', $item['edited'] . '+00:00' , ATOM_TIME)),
 | 
			
		||||
									'$content'       => xmlify($item['body']),
 | 
			
		||||
									'$location'      => xmlify($item['location']),
 | 
			
		||||
									'$type'          => 'text',
 | 
			
		||||
									'$verb'          => xmlify($verb),
 | 
			
		||||
									'$actobj'        => $actobj,
 | 
			
		||||
									'$parent_id'     => xmlify($item['parent-uri']),
 | 
			
		||||
									'$comment_allow' => (($item['last-child']) ? 1 : 0)
 | 
			
		||||
								));
 | 
			
		||||
							}
 | 
			
		||||
						}
 | 
			
		||||
					if($item['parent'] == $item['id']) {
 | 
			
		||||
						$atom .= replace_macros($item_template, array(
 | 
			
		||||
							'$name'               => xmlify($contact['name']),
 | 
			
		||||
							'$profile_page'       => xmlify($contact['url']),
 | 
			
		||||
							'$thumb'              => xmlify($contact['thumb']),
 | 
			
		||||
							'$owner_name'         => xmlify($item['owner-name']),
 | 
			
		||||
							'$owner_profile_page' => xmlify($item['owner-link']),
 | 
			
		||||
							'$owner_thumb'        => xmlify($item['owner-avatar']),
 | 
			
		||||
							'$item_id'            => xmlify($item['uri']),
 | 
			
		||||
							'$title'              => xmlify($item['title']),
 | 
			
		||||
							'$published'          => xmlify(datetime_convert('UTC', 'UTC', $item['created'] . '+00:00' , ATOM_TIME)),
 | 
			
		||||
							'$updated'            => xmlify(datetime_convert('UTC', 'UTC', $item['edited']  . '+00:00' , ATOM_TIME)),
 | 
			
		||||
							'$location'           => xmlify($item['location']),
 | 
			
		||||
							'$type'               => 'text',
 | 
			
		||||
							'$verb'               => xmlify($verb),
 | 
			
		||||
							'$actobj'             => $actobj,
 | 
			
		||||
							'$content'            => xmlify($item['body']),
 | 
			
		||||
							'$comment_allow'      => (($item['last-child']) ? 1 : 0)
 | 
			
		||||
						));
 | 
			
		||||
					}
 | 
			
		||||
					else {
 | 
			
		||||
						$atom .= replace_macros($cmnt_template, array(
 | 
			
		||||
							'$name'          => xmlify($contact['name']),
 | 
			
		||||
							'$profile_page'  => xmlify($contact['url']),
 | 
			
		||||
							'$thumb'         => xmlify($contact['thumb']),
 | 
			
		||||
							'$item_id'       => xmlify($item['uri']),
 | 
			
		||||
							'$title'         => xmlify($item['title']),
 | 
			
		||||
							'$published'     => xmlify(datetime_convert('UTC', 'UTC', $item['created'] . '+00:00' , ATOM_TIME)),
 | 
			
		||||
							'$updated'       => xmlify(datetime_convert('UTC', 'UTC', $item['edited']  . '+00:00' , ATOM_TIME)),
 | 
			
		||||
							'$content'       => xmlify($item['body']),
 | 
			
		||||
							'$location'      => xmlify($item['location']),
 | 
			
		||||
							'$type'          => 'text',
 | 
			
		||||
							'$verb'          => xmlify($verb),
 | 
			
		||||
							'$actobj'        => $actobj,
 | 
			
		||||
							'$parent_id'     => xmlify($item['parent-uri']),
 | 
			
		||||
							'$comment_allow' => (($item['last-child']) ? 1 : 0)
 | 
			
		||||
						));
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
| 
						 | 
				
			
			@ -258,10 +258,6 @@
 | 
			
		|||
	if($debugging)
 | 
			
		||||
		echo $atom;
 | 
			
		||||
 | 
			
		||||
	// create a clone of this feed but with comments disabled to send to those who can't respond. 
 | 
			
		||||
 | 
			
		||||
	$atom_nowrite = str_replace('<dfrn:comment-allow>1','<dfrn:comment-allow>0',$atom);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	if($followup)
 | 
			
		||||
		$recip_str = $parent['contact-id'];
 | 
			
		||||
| 
						 | 
				
			
			@ -277,86 +273,21 @@
 | 
			
		|||
 | 
			
		||||
	// delivery loop
 | 
			
		||||
 | 
			
		||||
	foreach($r as $rr) {
 | 
			
		||||
		if($rr['self'])
 | 
			
		||||
	foreach($r as $contact) {
 | 
			
		||||
		if($contact['self'])
 | 
			
		||||
			continue;
 | 
			
		||||
 | 
			
		||||
		if((! strlen($rr['dfrn-id'])) && (! $rr['duplex']))
 | 
			
		||||
			continue;
 | 
			
		||||
		$deliver_status = 0;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		$idtosend = $orig_id = (($rr['dfrn-id']) ? $rr['dfrn-id'] : $rr['issued-id']);
 | 
			
		||||
 | 
			
		||||
		if($rr['duplex'] && $rr['dfrn-id'])
 | 
			
		||||
			$idtosend = '0:' . $orig_id;
 | 
			
		||||
		if($rr['duplex'] && $rr['issued-id'])
 | 
			
		||||
			$idtosend = '1:' . $orig_id;		
 | 
			
		||||
 | 
			
		||||
		$url = $rr['notify'] . '?dfrn_id=' . $idtosend;
 | 
			
		||||
 | 
			
		||||
		if($debugging)
 | 
			
		||||
			echo "URL: $url";
 | 
			
		||||
 | 
			
		||||
		$xml = fetch_url($url);
 | 
			
		||||
 | 
			
		||||
		if($debugging)
 | 
			
		||||
			echo $xml;
 | 
			
		||||
 | 
			
		||||
		if(! $xml)
 | 
			
		||||
			continue;
 | 
			
		||||
 | 
			
		||||
		$res = simplexml_load_string($xml);
 | 
			
		||||
 | 
			
		||||
		if((intval($res->status) != 0) || (! strlen($res->challenge)) || (! strlen($res->dfrn_id)))
 | 
			
		||||
			continue;
 | 
			
		||||
 | 
			
		||||
		$postvars     = array();
 | 
			
		||||
 | 
			
		||||
		$sent_dfrn_id = hex2bin($res->dfrn_id);
 | 
			
		||||
		$challenge    = hex2bin($res->challenge);
 | 
			
		||||
 | 
			
		||||
		$final_dfrn_id = '';
 | 
			
		||||
 | 
			
		||||
		if($rr['duplex'] && strlen($rr['prvkey'])) {
 | 
			
		||||
			openssl_private_decrypt($sent_dfrn_id,$final_dfrn_id,$rr['prvkey']);
 | 
			
		||||
			openssl_private_decrypt($challenge,$postvars['challenge'],$rr['prvkey']);
 | 
			
		||||
		}
 | 
			
		||||
		else {
 | 
			
		||||
			openssl_public_decrypt($sent_dfrn_id,$final_dfrn_id,$rr['pubkey']);
 | 
			
		||||
			openssl_public_decrypt($challenge,$postvars['challenge'],$rr['pubkey']);
 | 
			
		||||
		switch($contact['network']) {
 | 
			
		||||
			case 'dfrn':
 | 
			
		||||
				$deliver_status = dfrn_deliver($contact,$atom,$debugging);
 | 
			
		||||
				break;
 | 
			
		||||
			default:
 | 
			
		||||
				break;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		$final_dfrn_id = substr($final_dfrn_id, 0, strpos($final_dfrn_id, '.'));
 | 
			
		||||
 | 
			
		||||
		if(strpos($final_dfrn_id,':') == 1)
 | 
			
		||||
			$final_dfrn_id = substr($final_dfrn_id,2);
 | 
			
		||||
 | 
			
		||||
		if($final_dfrn_id != $orig_id) {
 | 
			
		||||
			// did not decode properly - cannot trust this site 
 | 
			
		||||
			continue;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		$postvars['dfrn_id'] = $idtosend;
 | 
			
		||||
 | 
			
		||||
		if(($rr['rel']) && ($rr['rel'] != REL_FAN) && (! $rr['blocked']) && (! $rr['readonly'])) {
 | 
			
		||||
			$postvars['data'] = $atom;
 | 
			
		||||
		}
 | 
			
		||||
		else {
 | 
			
		||||
			$postvars['data'] = $atom_nowrite;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		$xml = post_url($rr['notify'],$postvars);
 | 
			
		||||
 | 
			
		||||
		if($debugging)
 | 
			
		||||
			echo $xml;
 | 
			
		||||
 | 
			
		||||
		$res = simplexml_load_string($xml);
 | 
			
		||||
 | 
			
		||||
		// Currently there is no retry attempt for failed mail delivery.
 | 
			
		||||
		// We need to handle this in the UI, report the non-deliverables and try again
 | 
			
		||||
 
 | 
			
		||||
		if(($cmd == 'mail') && (intval($res->status) == 0)) {
 | 
			
		||||
 | 
			
		||||
		if(($cmd == 'mail') && ($deliver_status == 0)) {
 | 
			
		||||
			$r = q("UPDATE `mail` SET `delivered` = 1 WHERE `id` = %d LIMIT 1",
 | 
			
		||||
				intval($item_id)
 | 
			
		||||
			);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,5 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
	$debugging = false;
 | 
			
		||||
 | 
			
		||||
	require_once('boot.php');
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -18,6 +17,8 @@
 | 
			
		|||
 | 
			
		||||
	require_once('include/Contact.php');
 | 
			
		||||
 | 
			
		||||
	$debugging = get_config('system','debugging');
 | 
			
		||||
 | 
			
		||||
	$a->set_baseurl(get_config('system','url'));
 | 
			
		||||
 | 
			
		||||
	$contacts = q("SELECT * FROM `contact` 
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -234,8 +234,10 @@ function dfrn_notify_post(&$a) {
 | 
			
		|||
 | 
			
		||||
					if($datarray['type'] == 'remote-comment') {
 | 
			
		||||
						$php_path = ((strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php');
 | 
			
		||||
						$proc_debug = get_config('system','proc_debug');
 | 
			
		||||
 | 
			
		||||
						proc_close(proc_open("\"$php_path\" \"include/notifier.php\" \"comment-import\" \"$posted_id\" &", 
 | 
			
		||||
 | 
			
		||||
						proc_close(proc_open("\"$php_path\" \"include/notifier.php\" \"comment-import\" \"$posted_id\" $proc_debug &", 
 | 
			
		||||
							array(),$foo));
 | 
			
		||||
 | 
			
		||||
						if(($importer['notify-flags'] & NOTIFY_COMMENT) && (! $importer['self'])) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -226,8 +226,9 @@ function item_post(&$a) {
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	$php_path = ((strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php');
 | 
			
		||||
	$proc_debug = get_config('system','proc_debug');
 | 
			
		||||
 | 
			
		||||
	proc_close(proc_open("\"$php_path\" \"include/notifier.php\" \"$notify_type\" \"$post_id\" &",
 | 
			
		||||
	proc_close(proc_open("\"$php_path\" \"include/notifier.php\" \"$notify_type\" \"$post_id\" $proc_debug &",
 | 
			
		||||
		array(),$foo));
 | 
			
		||||
 | 
			
		||||
	goaway($a->get_baseurl() . "/" . $_POST['return'] );
 | 
			
		||||
| 
						 | 
				
			
			@ -314,10 +315,12 @@ function item_content(&$a) {
 | 
			
		|||
			}
 | 
			
		||||
			$drop_id = intval($item['id']);
 | 
			
		||||
			$php_path = ((strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php');
 | 
			
		||||
			$proc_debug = get_config('system','proc_debug');
 | 
			
		||||
 | 
			
		||||
			
 | 
			
		||||
			// send the notification upstream/downstream as the case may be
 | 
			
		||||
 | 
			
		||||
			proc_close(proc_open("\"$php_path\" \"include/notifier.php\" \"drop\" \"$drop_id\" &",
 | 
			
		||||
			proc_close(proc_open("\"$php_path\" \"include/notifier.php\" \"drop\" \"$drop_id\" $proc_debug &",
 | 
			
		||||
				array(), $foo));
 | 
			
		||||
 | 
			
		||||
			goaway($a->get_baseurl() . '/' . $_SESSION['return_url']);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -96,8 +96,9 @@ function like_content(&$a) {
 | 
			
		|||
		);
 | 
			
		||||
 | 
			
		||||
		$php_path = ((strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php');
 | 
			
		||||
		$proc_debug = get_config('system','proc_debug');
 | 
			
		||||
 | 
			
		||||
		proc_close(proc_open("\"$php_path\" \"include/notifier.php\" \"like\" \"$post_id\" &",
 | 
			
		||||
		proc_close(proc_open("\"$php_path\" \"include/notifier.php\" \"like\" \"$post_id\" $proc_debug &",
 | 
			
		||||
			array(),$foo));
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -163,8 +164,9 @@ EOT;
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
	$php_path = ((strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php');
 | 
			
		||||
	$proc_debug = get_config('system','proc_debug');
 | 
			
		||||
 | 
			
		||||
	proc_close(proc_open("\"$php_path\" \"include/notifier.php\" \"like\" \"$post_id\" &",
 | 
			
		||||
	proc_close(proc_open("\"$php_path\" \"include/notifier.php\" \"like\" \"$post_id\" $proc_debug &",
 | 
			
		||||
		array(),$foo));
 | 
			
		||||
 | 
			
		||||
	return; // NOTREACHED
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -68,9 +68,11 @@ function message_post(&$a) {
 | 
			
		|||
		$post_id = $r[0]['id'];
 | 
			
		||||
 | 
			
		||||
	$php_path = ((strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php');
 | 
			
		||||
	$proc_debug = get_config('system','proc_debug');
 | 
			
		||||
notice("\"$php_path\" \"include/notifier.php\" \"mail\" \"$post_id\" $proc_debug &");
 | 
			
		||||
	
 | 
			
		||||
	if($post_id) {
 | 
			
		||||
		proc_close(proc_open("\"$php_path\" \"include/notifier.php\" \"mail\" \"$post_id\" &",
 | 
			
		||||
		proc_close(proc_open("\"$php_path\" \"include/notifier.php\" \"mail\" \"$post_id\" $proc_debug &",
 | 
			
		||||
			array(),$foo));
 | 
			
		||||
		notice( t('Message sent.') . EOL );
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -136,8 +138,10 @@ function message_content(&$a) {
 | 
			
		|||
	if(($a->argc > 2) && ($a->argv[1] == 'redeliver') && intval($a->argv[2])) {
 | 
			
		||||
		$post_id = intval($a->argv[2]);
 | 
			
		||||
		$php_path = ((strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php');
 | 
			
		||||
		$proc_debug = get_config('system','proc_debug');
 | 
			
		||||
 | 
			
		||||
		proc_close(proc_open("\"$php_path\" \"include/notifier.php\" \"mail\" \"$post_id\" &",
 | 
			
		||||
 | 
			
		||||
		proc_close(proc_open("\"$php_path\" \"include/notifier.php\" \"mail\" \"$post_id\" $proc_debug & ",
 | 
			
		||||
			array(),$foo));
 | 
			
		||||
		goaway($a->get_baseurl() . '/message' );
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -125,11 +125,12 @@ function photos_post(&$a) {
 | 
			
		|||
 | 
			
		||||
					$drop_id = intval($rr['id']);
 | 
			
		||||
					$php_path = ((strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php');
 | 
			
		||||
					$proc_debug = get_config('system','proc_debug');
 | 
			
		||||
 | 
			
		||||
					// send the notification upstream/downstream as the case may be
 | 
			
		||||
 | 
			
		||||
					if($rr['visible'])
 | 
			
		||||
						proc_close(proc_open("\"$php_path\" \"include/notifier.php\" \"drop\" \"$drop_id\" & ",
 | 
			
		||||
						proc_close(proc_open("\"$php_path\" \"include/notifier.php\" \"drop\" \"$drop_id\" $proc_debug & ",
 | 
			
		||||
							array(),$foo));
 | 
			
		||||
 | 
			
		||||
				}
 | 
			
		||||
| 
						 | 
				
			
			@ -165,10 +166,12 @@ function photos_post(&$a) {
 | 
			
		|||
				$drop_id = intval($i[0]['id']);
 | 
			
		||||
				$php_path = ((strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php');
 | 
			
		||||
				
 | 
			
		||||
				$proc_debug = get_config('system','proc_debug']);
 | 
			
		||||
 | 
			
		||||
				// send the notification upstream/downstream as the case may be
 | 
			
		||||
 | 
			
		||||
				if($i[0]['visible'])
 | 
			
		||||
					proc_close(proc_open("\"$php_path\" \"include/notifier.php\" \"drop\" \"$drop_id\" & ",
 | 
			
		||||
					proc_close(proc_open("\"$php_path\" \"include/notifier.php\" \"drop\" \"$drop_id\" $proc_debug & ",
 | 
			
		||||
						array(),$foo));
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -77,9 +77,6 @@ function profile_init(&$a) {
 | 
			
		|||
function profile_content(&$a, $update = 0) {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	file_put_contents('uid.log',"{$_SERVER['QUERY_STRING']} ". session_id() . "\n", FILE_APPEND);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	require_once("include/bbcode.php");
 | 
			
		||||
	require_once('include/security.php');
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue