| 
									
										
										
										
											2011-07-04 02:41:04 +00:00
										 |  |  | <?php | 
					
						
							| 
									
										
										
										
											2018-02-05 12:47:06 +00:00
										 |  |  | /** | 
					
						
							|  |  |  |  * @file mod/starred.php | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2017-04-30 04:07:00 +00:00
										 |  |  | use Friendica\App; | 
					
						
							| 
									
										
										
										
											2017-08-26 06:04:21 +00:00
										 |  |  | use Friendica\Core\System; | 
					
						
							| 
									
										
										
										
											2018-07-21 12:40:21 +00:00
										 |  |  | use Friendica\Database\DBA; | 
					
						
							| 
									
										
										
										
											2018-02-05 12:47:06 +00:00
										 |  |  | use Friendica\Model\Item; | 
					
						
							| 
									
										
										
										
											2016-02-07 14:11:34 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-01-09 12:14:55 +00:00
										 |  |  | function starred_init(App $a) { | 
					
						
							| 
									
										
										
										
											2011-07-04 02:41:04 +00:00
										 |  |  | 	$starred = 0; | 
					
						
							| 
									
										
										
										
											2018-02-14 05:07:26 +00:00
										 |  |  | 	$message_id = null; | 
					
						
							| 
									
										
										
										
											2011-07-04 02:41:04 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-06-21 06:21:51 +00:00
										 |  |  | 	if (!local_user()) { | 
					
						
							| 
									
										
										
										
											2011-07-04 02:41:04 +00:00
										 |  |  | 		killme(); | 
					
						
							| 
									
										
										
										
											2016-12-20 10:56:34 +00:00
										 |  |  | 	} | 
					
						
							|  |  |  | 	if ($a->argc > 1) { | 
					
						
							| 
									
										
										
										
											2011-07-04 02:41:04 +00:00
										 |  |  | 		$message_id = intval($a->argv[1]); | 
					
						
							| 
									
										
										
										
											2016-12-20 10:56:34 +00:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2018-06-21 06:21:51 +00:00
										 |  |  | 	if (!$message_id) { | 
					
						
							| 
									
										
										
										
											2011-07-04 02:41:04 +00:00
										 |  |  | 		killme(); | 
					
						
							| 
									
										
										
										
											2016-12-20 10:56:34 +00:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2011-07-04 02:41:04 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-06-24 10:48:29 +00:00
										 |  |  | 	$item = Item::selectFirstForUser(local_user(), ['starred'], ['uid' => local_user(), 'id' => $message_id]); | 
					
						
							| 
									
										
										
										
											2018-07-21 12:46:04 +00:00
										 |  |  | 	if (!DBA::isResult($item)) { | 
					
						
							| 
									
										
										
										
											2011-07-04 02:41:04 +00:00
										 |  |  | 		killme(); | 
					
						
							| 
									
										
										
										
											2016-12-20 09:10:33 +00:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2011-07-04 02:41:04 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-06-21 06:21:51 +00:00
										 |  |  | 	if (!intval($item['starred'])) { | 
					
						
							| 
									
										
										
										
											2011-07-04 02:41:04 +00:00
										 |  |  | 		$starred = 1; | 
					
						
							| 
									
										
										
										
											2016-12-20 20:31:05 +00:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2011-07-04 02:41:04 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-02-06 12:40:22 +00:00
										 |  |  | 	Item::update(['starred' => $starred], ['id' => $message_id]); | 
					
						
							| 
									
										
										
										
											2014-05-29 12:17:37 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-01-26 19:52:21 +00:00
										 |  |  | 	// See if we've been passed a return path to redirect to
 | 
					
						
							| 
									
										
										
										
											2018-06-21 06:21:51 +00:00
										 |  |  | 	$return_path = (x($_REQUEST,'return') ? $_REQUEST['return'] : ''); | 
					
						
							| 
									
										
										
										
											2016-12-20 20:31:05 +00:00
										 |  |  | 	if ($return_path) { | 
					
						
							| 
									
										
										
										
											2013-01-26 19:52:21 +00:00
										 |  |  | 		$rand = '_=' . time(); | 
					
						
							| 
									
										
										
										
											2016-12-20 20:31:05 +00:00
										 |  |  | 		if (strpos($return_path, '?')) { | 
					
						
							|  |  |  | 			$rand = "&$rand"; | 
					
						
							| 
									
										
										
										
											2016-12-21 22:04:09 +00:00
										 |  |  | 		} else { | 
					
						
							| 
									
										
										
										
											2016-12-20 20:31:05 +00:00
										 |  |  | 			$rand = "?$rand"; | 
					
						
							|  |  |  | 		} | 
					
						
							| 
									
										
										
										
											2013-01-26 19:52:21 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-10-13 18:02:04 +00:00
										 |  |  | 		$a->redirect($return_path . $rand); | 
					
						
							| 
									
										
										
										
											2013-01-26 19:52:21 +00:00
										 |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-07-04 02:41:04 +00:00
										 |  |  | 	// the json doesn't really matter, it will either be 0 or 1
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	echo json_encode($starred); | 
					
						
							|  |  |  | 	killme(); | 
					
						
							|  |  |  | } |