- count() returns very different results and never a boolean (not even false on error condition). - therefore you should NOT use it in boolean expressions. This still *can* be done in PHP because of its lazyness. But it is discouraged if it comes to more clean code. Signed-off-by: Roland Häder <roland@mxchange.org>
		
			
				
	
	
		
			45 lines
		
	
	
	
		
			957 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
	
		
			957 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
 | 
						|
function ignored_init(&$a) {
 | 
						|
 | 
						|
	$ignored = 0;
 | 
						|
 | 
						|
	if(! local_user())
 | 
						|
		killme();
 | 
						|
	if($a->argc > 1)
 | 
						|
		$message_id = intval($a->argv[1]);
 | 
						|
	if(! $message_id)
 | 
						|
		killme();
 | 
						|
 | 
						|
	$r = q("SELECT `ignored` FROM `thread` WHERE `uid` = %d AND `iid` = %d LIMIT 1",
 | 
						|
		intval(local_user()),
 | 
						|
		intval($message_id)
 | 
						|
	);
 | 
						|
	if(! dbm::is_result($r))
 | 
						|
		killme();
 | 
						|
 | 
						|
	if(! intval($r[0]['ignored']))
 | 
						|
		$ignored = 1;
 | 
						|
 | 
						|
	$r = q("UPDATE `thread` SET `ignored` = %d WHERE `uid` = %d and `iid` = %d",
 | 
						|
		intval($ignored),
 | 
						|
		intval(local_user()),
 | 
						|
		intval($message_id)
 | 
						|
	);
 | 
						|
 | 
						|
	// See if we've been passed a return path to redirect to
 | 
						|
	$return_path = ((x($_REQUEST,'return')) ? $_REQUEST['return'] : '');
 | 
						|
	if($return_path) {
 | 
						|
		$rand = '_=' . time();
 | 
						|
		if(strpos($return_path, '?')) $rand = "&$rand";
 | 
						|
		else $rand = "?$rand";
 | 
						|
 | 
						|
		goaway($a->get_baseurl() . "/" . $return_path . $rand);
 | 
						|
	}
 | 
						|
 | 
						|
	// the json doesn't really matter, it will either be 0 or 1
 | 
						|
 | 
						|
	echo json_encode($ignored);
 | 
						|
	killme();
 | 
						|
}
 |