You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							69 lines
						
					
					
						
							1.9 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							69 lines
						
					
					
						
							1.9 KiB
						
					
					
				| <?php | |
| 
 | |
| $app->get('/editor', function() use($app) { | |
|   if($user=require_login($app)) { | |
|     $html = $app->render('editor.php'); | |
|     $app->response()->body($html); | |
|   } | |
| }); | |
| 
 | |
| $app->post('/editor/publish', function() use($app) { | |
| 
 | |
|   if($user=require_login($app)) { | |
|     $params = $app->request()->params(); | |
| 
 | |
|     $content = $params['body']; | |
| 
 | |
|     if($user->micropub_optin_html_content) { | |
|       $content = ['html' => $params['body']]; | |
|     } | |
| 
 | |
|     $micropub_request = array( | |
|       'h' => 'entry', | |
|       'name' => $params['name'], | |
|       'content' => $content | |
|     ); | |
| 
 | |
|     $r = micropub_post_for_user($user, $micropub_request); | |
| 
 | |
|     $app->response()['Content-type'] = 'application/json'; | |
|     $app->response()->body(json_encode([ | |
|       'location' => $r['location'], | |
|       'response' => trim(htmlspecialchars($r['response'])) | |
|     ])); | |
|   } | |
| }); | |
| 
 | |
| $app->post('/editor/upload', function() use($app) { | |
|   // Fake a file uploader by echo'ing back the data URI | |
|   $fn = $_FILES['files']['tmp_name'][0]; | |
|   $imageData = base64_encode(file_get_contents($fn)); | |
|   $src = 'data:'.mime_content_type($fn).';base64,'.$imageData; | |
| 
 | |
|   $app->response()['Content-type'] = 'application/json'; | |
|   $app->response()->body(json_encode([ | |
|     'files' => [ | |
|       [ | |
|         'url'=>$src | |
|       ] | |
|     ] | |
|   ])); | |
| }); | |
| 
 | |
| $app->post('/editor/delete-file', function() use($app) { | |
|   $app->response()['Content-type'] = 'application/json'; | |
|   $app->response()->body(json_encode(['result'=>'deleted'])); | |
| }); | |
| 
 | |
| $app->get('/editor/oembed', function() use($app) { | |
|   $url = 'http://medium.iframe.ly/api/oembed?iframe=1&url='.urlencode($app->request()->params()['url']); | |
|   $json = file_get_contents($url); | |
|   $app->response()['Content-type'] = 'application/json'; | |
|   $app->response()->body($json);   | |
| }); | |
| 
 | |
| $app->post('/editor/test-login', function() use($app) { | |
|   $logged_in = array_key_exists('user_id', $_SESSION); | |
|   $app->response()['Content-type'] = 'application/json'; | |
|   $app->response()->body(json_encode(['logged_in'=>$logged_in])); | |
| });
 |