X-Git-Url: https://git.defcon.no/?a=blobdiff_plain;f=api%2Fphone.php;h=999824b237bb8795937bd98ca0f1cdad36b40045;hb=e3ea78bd48d210947fcfcb73977e6a34e6b31293;hp=9437d66b47738961781d344ca57c5fd2172d5573;hpb=220a8d4c07bfb4cb6be8122fda7dc6ceb0d1da8f;p=hermes diff --git a/api/phone.php b/api/phone.php index 9437d66..999824b 100644 --- a/api/phone.php +++ b/api/phone.php @@ -1,5 +1,32 @@ 'failed', 'cause' => 'error', 'detail' => 'Database connection failed.')); exit; } +token_auth(); //************************************************************************************* switch ( $_SERVER['PATH_INFO'] ) @@ -25,9 +53,9 @@ if ( !$config['sql_link'] ) // Required GET parameters: // user: authentication username, SIP-username without domain component // domain: Domain/realm of the user. username + '@' + domain == SIP address. - if ( array_key_exists( 'mac', $_GET) ) + if ( array_key_exists( 'mac', $_POST) ) { - $mac = $_GET['mac']; + $mac = $_POST['mac']; $relations = get_phone_users ( $mac ); if ( $relations ) { @@ -35,18 +63,18 @@ if ( !$config['sql_link'] ) } else print json_encode( array ( 'response' => 'failed', 'cause' => 'nonexistant', 'detail' => 'No results.')); } - else if ( ( array_key_exists( 'username', $_GET) && array_key_exists( 'domain', $_GET ) ) || array_key_exists('user', $_GET) ) + else if ( ( array_key_exists( 'username', $_POST) && array_key_exists( 'domain', $_POST ) ) || array_key_exists('user', $_POST) ) { $username = ""; $domain = ""; - if ( array_key_exists('username', $_GET) ) + if ( array_key_exists('username', $_POST) ) { - $username = $_GET['username']; - $domain = $_GET['domain']; + $username = $_POST['username']; + $domain = $_POST['domain']; } else { - $user = split_sipaddress($_GET['user']); + $user = split_sipaddress($_POST['user']); if ( !$user ) { print json_encode ( array( 'response' => 'failed', 'cause' => 'invalid', 'detail' => 'Invalid SIP address') ); @@ -69,8 +97,8 @@ if ( !$config['sql_link'] ) case "/list": // List all (distinct) phone MAC-adresses registered... $search = null; - if ( array_key_exists('search', $_GET ) ) - $search = $_GET['search']; + if ( array_key_exists('search', $_POST ) ) + $search = $_POST['search']; $phones = list_phones( $search ); print json_encode( array( 'response' => 'ok', 'list' => $phones )); @@ -87,20 +115,20 @@ if ( !$config['sql_link'] ) domain A valid domain .. to form a registered user@domain combo :) */ - if ( array_key_exists('mac', $_GET ) && - ( array_key_exists('user', $_GET) || - ( array_key_exists('username', $_GET) && array_key_exists('domain', $_GET )))) + if ( array_key_exists('mac', $_POST ) && + ( array_key_exists('user', $_POST) || + ( array_key_exists('username', $_POST) && array_key_exists('domain', $_POST )))) { $username = ""; $domain = ""; - if ( array_key_exists('username', $_GET) ) + if ( array_key_exists('username', $_POST) ) { - $username = $_GET['username']; - $domain = $_GET['domain']; + $username = $_POST['username']; + $domain = $_POST['domain']; } else { - $user = split_sipaddress($_GET['user']); + $user = split_sipaddress($_POST['user']); if ( !$user ) { print json_encode ( array( 'response' => 'failed', 'cause' => 'invalid', 'detail' => 'Invalid SIP address') ); @@ -108,7 +136,7 @@ if ( !$config['sql_link'] ) } list ( $username, $domain ) = $user; } - $mac = clean_mac($_GET['mac']); + $mac = clean_mac($_POST['mac']); if ( !$mac ) { print json_encode ( array( 'response' => 'failed', 'cause' => 'invalid', 'detail' => 'No valid MAC address given.') ); @@ -134,8 +162,7 @@ if ( !$config['sql_link'] ) } else { - print json_encode( array ( 'response' => 'ok', 'data' => array ( - 'mac' => $mac, 'username' => $username, 'domain' => $domain) )); + print json_encode( array ( 'response' => 'ok', 'mac' => $mac, 'username' => $username, 'domain' => $domain) ); break; } break; @@ -157,20 +184,20 @@ if ( !$config['sql_link'] ) domain A valid domain .. to form a registered user@domain combo :) */ - if ( array_key_exists('mac', $_GET ) && - ( array_key_exists('user', $_GET) || - ( array_key_exists('username', $_GET) && array_key_exists('domain', $_GET )))) + if ( array_key_exists('mac', $_POST ) && + ( array_key_exists('user', $_POST) || + ( array_key_exists('username', $_POST) && array_key_exists('domain', $_POST )))) { $username = ""; $domain = ""; - if ( array_key_exists('username', $_GET) ) + if ( array_key_exists('username', $_POST) ) { - $username = $_GET['username']; - $domain = $_GET['domain']; + $username = $_POST['username']; + $domain = $_POST['domain']; } else { - $user = split_sipaddress($_GET['user']); + $user = split_sipaddress($_POST['user']); if ( !$user ) { print json_encode ( array( 'response' => 'failed', 'cause' => 'invalid', 'detail' => 'Invalid SIP address') ); @@ -178,7 +205,7 @@ if ( !$config['sql_link'] ) } list ( $username, $domain ) = $user; } - $mac = clean_mac($_GET['mac']); + $mac = clean_mac($_POST['mac']); if ( !$mac ) { print json_encode ( array( 'response' => 'failed', 'cause' => 'invalid', 'detail' => 'No valid MAC address given.') ); @@ -199,7 +226,7 @@ if ( !$config['sql_link'] ) } else { - print json_encode( array ( 'response' => 'ok' )); + print json_encode( array ( 'response' => 'ok', 'mac' => $mac, 'username' => $username, 'domain' => $domain )); break; } break;