+ if ( ! is_provision_user ( $username, $domain ) )
+ {
+ print json_encode( array ( 'response' => 'failed', 'cause' => 'nonexistant', 'detail' => '' . $username . '@' . $domain . ' does not exist.'));
+ break;
+ }
+ $updated = array();
+ $failed = array();
+ $error = 1;
+ $result_text = "";
+ $params = array('displayname', 'dialplan', 'linetext', 'registrar', 'r_port', 'proxy', 'p_port');
+ foreach ( $params as $p )
+ {
+ if ( array_key_exists($p, $_GET ) )
+ {
+ $data = $_GET[$p];
+ $t = update_provision_data($p, $username, $domain, $data);
+ if ( $t != true )
+ {
+ $error = $t;
+ array_push($failed, $p);
+ }
+ else
+ {
+ array_push( $updated, $p);
+ }
+ }
+ }
+ $res = array();
+ if ( ( $error == 1 ) || ( $error == 0 ) )
+ {
+ $res['response'] = 'ok';
+ $res['skipped'] = $failed;
+ }
+ else if ( $error == -1 )
+ {
+ $res['response'] = 'failed';
+ $res['cause'] = 'param';
+ $res['detail'] = 'Invalid parameters';
+ $res['failed'] = $failed;
+ }
+ else if ( $error == -2 )
+ {
+ $res['response'] = 'failed';
+ $res['cause'] = 'dbfail';
+ $res['detail'] = 'Database failure';
+ $res['failed'] = $failed;
+ }
+ else
+ $res['response'] = 'error'; // Wait, what?
+
+ $res['updated'] = $updated;
+
+ print json_encode ( $res );