X-Git-Url: https://git.defcon.no/?a=blobdiff_plain;f=lib%2Fuser_functions.php;h=c8556f149476fd04fcb3f2bb243f1ed92f92018e;hb=HEAD;hp=e618d4c5bdb5bd83f143dc8a4ecac65f8ebc0abd;hpb=266a88b9c769ceb9fbb5909c1d1a033cd3421adb;p=hermes diff --git a/lib/user_functions.php b/lib/user_functions.php deleted file mode 100644 index e618d4c..0000000 --- a/lib/user_functions.php +++ /dev/null @@ -1,309 +0,0 @@ - 1 ) return -2; - return $res; -} - -function update_provision_pw ( $username, $domain, $password ) -{ - global $config; - - if ( ! ($username && $domain && $password)) - return false; - - $query = sprintf("UPDATE %s SET password = '%s' WHERE username = '%s' AND domain = '%s'", - $config['provision_users_table'], - sql_clean($password), - sql_clean($username), - sql_clean($domain) - - ); - if ( sql_dbexec_rows( $config['provision_db'], $query) != 1 ) return false; - return true; -} - -function list_users ( $search = null ) -{ - global $config; - $query = sprintf("SELECT CONCAT(username, '@', domain), displayname FROM %s ORDER BY username,domain", $config['provision_users_table'] ); - - if ( array_key_exists ( 'search', $_GET ) ) - { - $search = $_GET['search']; // TODO: Add some sanitation and input validation! - $query = sprintf("SELECT CONCAT(username, '@', domain) FROM %s WHERE CONCAT(username, '@', domain) LIKE '%%%s%%' ORDER BY username,domain", $config['provision_users_table'], sql_clean( $search ) ); - } - - $result = sql_dbquery( $config['provision_db'], $query ); - if ( !$result ) return null; - $list = array(); - while ( $row = mysql_fetch_row( $result ) ) - { - array_push( $list, array( "user" => $row[0], "displayname" => $row[1] ) ); - } - return $list; - print json_encode( array( 'response' => 'ok', 'list' => $list )); - - -} -function get_userdata( $username, $domain ) -{ - global $config; - if ( is_kamailio_subscriber( $username, $domain ) // User must be present in both! - && is_provision_user( $username, $domain ) ) $type = 'local'; - else if ( is_provision_user( $username, $domain ) ) $type = 'remote'; - else return null; - - $provision_data = null; - $kamailio_data = null; - - $query_provision = sprintf ("SELECT id, username, password, displayname, domain, registrar, r_port, proxy, p_port, dialplan, authid, linetext FROM %s WHERE username = '%s' AND domain = '%s'", - $config['provision_users_table'], - sql_clean($username), - sql_clean($domain)); - - $provision_data = sql_dbquery_single( $config['provision_db'] , $query_provision ); - if ( ! $provision_data ) return false; - - if ( $type == 'local' ) - { - // WARNING: Note the typo in the name of the 'permittedcalls' column! - $query_kamailio = sprintf ("SELECT id, username, domain, password, email_address, ha1, ha1b, rpid, permitedcalls FROM %s WHERE username = '%s' AND domain = '%s'", - $config['kamailio_subscriber_table'], - sql_clean($username), - sql_clean($domain)); - $kamailio_data = sql_dbquery_single( $config['kamailio_db'] , $query_kamailio ); - if ( ! $kamailio_data ) return false; - } - $user['type'] = $type; - $user['username'] = $provision_data['username']; - $user['password'] = $provision_data['password']; - $user['domain'] = $provision_data['domain']; - $user['authid'] = $provision_data['authid']; - $user['registrar'] = $provision_data['registrar']; - $user['r_port'] = $provision_data['r_port']; - $user['proxy'] = $provision_data['proxy']; - $user['p_port'] = $provision_data['p_port']; - $user['dialplan'] = $provision_data['dialplan']; - $user['displayname'] = $provision_data['displayname']; - $user['linetext'] = $provision_data['linetext']; - if ( $type == 'local' ) - { - $user['email'] = $kamailio_data['email_address']; - $user['ha1'] = $kamailio_data['ha1']; - $user['ha1b'] = $kamailio_data['ha1b']; - $user['rpid'] = $kamailio_data['rpid']; - $user['permittedcalls'] = $kamailio_data['permitedcalls']; - } - - return $user; -} - -?>