62 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| namespace Zotlabs\Module;
 | |
| 
 | |
| require_once('include/zot.php');
 | |
| 
 | |
| 
 | |
| class Authtest extends \Zotlabs\Web\Controller {
 | |
| 
 | |
| 	function get() {
 | |
| 	
 | |
| 	
 | |
| 		$auth_success = false;
 | |
| 		$o .= '<h3>Magic-Auth Diagnostic</h3>';
 | |
| 	
 | |
| 		if(! local_channel()) {
 | |
| 			notice( t('Permission denied.') . EOL);
 | |
| 			return $o;
 | |
| 		}
 | |
| 	
 | |
| 		$o .= '<form action="authtest" method="get">';
 | |
| 		$o .= 'Target URL: <input type="text" style="width: 250px;" name="dest" value="' . $_GET['dest'] .'" />';
 | |
| 		$o .= '<input type="submit" name="submit" value="Submit" /></form>'; 
 | |
| 	
 | |
| 		$o .= '<br /><br />';
 | |
| 	
 | |
| 		if(x($_GET,'dest')) {
 | |
| 			if(strpos($_GET['dest'],'@')) {
 | |
| 				$_GET['dest'] = $_REQUEST['dest'] = 'https://' . substr($_GET['dest'],strpos($_GET['dest'],'@')+1) . '/channel/' . substr($_GET['dest'],0,strpos($_GET['dest'],'@'));
 | |
| 			}
 | |
| 	
 | |
| 			$_REQUEST['test'] = 1;
 | |
| 			$mod = new Magic();
 | |
| 			$x = $mod->init($a);
 | |
| 
 | |
| 			$o .= 'Local Setup returns: ' . print_r($x,true);
 | |
| 	
 | |
| 	
 | |
| 	
 | |
| 			if($x['url']) {
 | |
| 				$z = z_fetch_url($x['url'] . '&test=1');
 | |
| 				if($z['success']) {
 | |
| 					$j = json_decode($z['body'],true);
 | |
| 					if(! $j)
 | |
| 						$o .= 'json_decode failure from remote site. ' . print_r($z['body'],true);
 | |
| 					$o .= 'Remote site responded: ' . print_r($j,true);
 | |
| 					if($j['success'] && strpos($j['message'],'Authentication Success'))
 | |
| 						$auth_success = true;
 | |
| 				}
 | |
| 				else {
 | |
| 					$o .= 'fetch url failure.' . print_r($z,true);
 | |
| 				}
 | |
| 			}
 | |
| 	
 | |
| 			if(! $auth_success)
 | |
| 				$o .= 'Authentication Failed!' . EOL;
 | |
| 		}
 | |
| 	
 | |
| 		return str_replace("\n",'<br />',$o);
 | |
| 	}
 | |
| 	
 | |
| }
 |