|  |  | @ -127,6 +127,24 @@ $app->get('/favorite', function() use($app) { | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  | }); | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | $app->get('/repost', function() use($app) { | 
			
		
	
		
			
				
					|  |  |  | if($user=require_login($app)) { | 
			
		
	
		
			
				
					|  |  |  | $params = $app->request()->params(); | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | $url = ''; | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | if(array_key_exists('url', $params)) | 
			
		
	
		
			
				
					|  |  |  | $url = $params['url']; | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | $html = render('new-repost', array( | 
			
		
	
		
			
				
					|  |  |  | 'title' => 'New Repost', | 
			
		
	
		
			
				
					|  |  |  | 'url' => $url, | 
			
		
	
		
			
				
					|  |  |  | 'token' => generate_login_token() | 
			
		
	
		
			
				
					|  |  |  | )); | 
			
		
	
		
			
				
					|  |  |  | $app->response()->body($html); | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  | }); | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | $app->post('/prefs', function() use($app) { | 
			
		
	
		
			
				
					|  |  |  | if($user=require_login($app)) { | 
			
		
	
		
			
				
					|  |  |  | $params = $app->request()->params(); | 
			
		
	
	
		
			
				
					|  |  | @ -252,7 +270,7 @@ function create_favorite(&$user, $url) { | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | if(preg_match('/https?:\/\/(?:www\.)?twitter\.com\/[^\/]+\/status(?:es)?\/(\d+)/', $url, $match)) { | 
			
		
	
		
			
				
					|  |  |  | if($user->twitter_access_token && preg_match('/https?:\/\/(?:www\.)?twitter\.com\/[^\/]+\/status(?:es)?\/(\d+)/', $url, $match)) { | 
			
		
	
		
			
				
					|  |  |  | $tweet_id = $match[1]; | 
			
		
	
		
			
				
					|  |  |  | $twitter = new \TwitterOAuth\Api(Config::$twitterClientID, Config::$twitterClientSecret, | 
			
		
	
		
			
				
					|  |  |  | $user->twitter_access_token, $user->twitter_token_secret); | 
			
		
	
	
		
			
				
					|  |  | @ -264,6 +282,24 @@ function create_favorite(&$user, $url) { | 
			
		
	
		
			
				
					|  |  |  | return $r; | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | function create_repost(&$user, $url) { | 
			
		
	
		
			
				
					|  |  |  | $micropub_request = array( | 
			
		
	
		
			
				
					|  |  |  | 'repost-of' => $url | 
			
		
	
		
			
				
					|  |  |  | ); | 
			
		
	
		
			
				
					|  |  |  | $r = micropub_post_for_user($user, $micropub_request); | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | $tweet_id = false; | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | if($user->twitter_access_token && preg_match('/https?:\/\/(?:www\.)?twitter\.com\/[^\/]+\/status(?:es)?\/(\d+)/', $url, $match)) { | 
			
		
	
		
			
				
					|  |  |  | $tweet_id = $match[1]; | 
			
		
	
		
			
				
					|  |  |  | $twitter = new \TwitterOAuth\Api(Config::$twitterClientID, Config::$twitterClientSecret, | 
			
		
	
		
			
				
					|  |  |  | $user->twitter_access_token, $user->twitter_token_secret); | 
			
		
	
		
			
				
					|  |  |  | $result = $twitter->post('statuses/retweet/'.$tweet_id); | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | return $r; | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | $app->get('/favorite.js', function() use($app) { | 
			
		
	
		
			
				
					|  |  |  | $app->response()->header("Content-type", "text/javascript"); | 
			
		
	
		
			
				
					|  |  |  | if($user=require_login($app, false)) { | 
			
		
	
	
		
			
				
					|  |  | @ -300,6 +336,19 @@ $app->post('/favorite', function() use($app) { | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  | }); | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | $app->post('/repost', function() use($app) { | 
			
		
	
		
			
				
					|  |  |  | if($user=require_login($app)) { | 
			
		
	
		
			
				
					|  |  |  | $params = $app->request()->params(); | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | $r = create_repost($user, $params['url']); | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | $app->response()->body(json_encode(array( | 
			
		
	
		
			
				
					|  |  |  | 'location' => $r['location'], | 
			
		
	
		
			
				
					|  |  |  | 'error' => $r['error'] | 
			
		
	
		
			
				
					|  |  |  | ))); | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  | }); | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | $app->get('/micropub/syndications', function() use($app) { | 
			
		
	
		
			
				
					|  |  |  | if($user=require_login($app)) { | 
			
		
	
		
			
				
					|  |  |  | $data = get_syndication_targets($user); | 
			
		
	
	
		
			
				
					|  |  |  |