X-Git-Url: https://git.defcon.no/?a=blobdiff_plain;f=lib%2Falias_functions.php;h=fddcb20aa7f6c9dc17d8b1fafd7970e629c648d6;hb=HEAD;hp=51c3b58379bc9b6accb0cd44c369f77bd53a2869;hpb=e9dd114b2570a41c4f517bdee270fbc2c791de92;p=hermes diff --git a/lib/alias_functions.php b/lib/alias_functions.php deleted file mode 100644 index 51c3b58..0000000 --- a/lib/alias_functions.php +++ /dev/null @@ -1,134 +0,0 @@ - $row['destination'], 'alias' => $row['alias'] ) ); - } - return $aliases; -} - -function get_aliases ( $dest_username, $dest_domain ) -{ - global $config; - - $aliases = array(); - $query = ""; - if (( $dest_username == null ) && ( $dest_domain == null) ) - { - $query = sprintf("SELECT CONCAT(username, '@', domain ) AS destination, CONCAT( alias_username, '@', alias_domain) AS alias FROM %s" , - $config['kamailio_alias_table']); - } - else - { - $query = sprintf("SELECT '%s' AS destination, CONCAT( alias_username, '@', alias_domain) AS alias FROM %s" - . " WHERE username = '%s' AND domain = '%s'", - sql_clean($dest_username. '@' . $dest_domain), - $config['kamailio_alias_table'], - sql_clean($dest_username), - sql_clean($dest_domain)); - } - $result = sql_dbquery( $config['kamailio_db'], $query); - // If result is empty, there was either an SQL error, or simply no results. - // At this point, no error checking is performed, instead the empty array is returned. - if ( ! $result ) return $aliases; - - while ( $row = mysql_fetch_assoc( $result ) ) - { - array_push( $aliases, array( 'destination' => $row['destination'], 'alias' => $row['alias'] ) ); - } - return $aliases; -} - -function get_e164_alias( $dest_username, $dest_domain ) -{ - global $config; - $cur_aliases = get_aliases( $dest_username, $dest_domain ); - foreach ( $cur_aliases as $testalias ) - { - list( $tau, $foo ) = split_sipaddress( $testalias['alias'] ); - if ( verify_e164 ( $tau ) ) return $testalias; - } - return false; - -} -function alias_exists( $alias_username, $alias_domain ) -{ - global $config; - $query = sprintf("SELECT COUNT(*) AS num FROM %s WHERE alias_username = '%s' AND alias_domain = '%s'", - $config['kamailio_alias_table'], - sql_clean($alias_username), sql_clean($alias_domain)); - $result = sql_dbquery($config['kamailio_db'], $query); - - if ( !$result ) return true; // This is an error. Better to fail claiming alias exists... - $row = mysql_fetch_row($result); - if ( !$row ) return true; // This is an error. Better to fail claiming alias exists... - $num_r = $row[0]; - if ( $num_r == 1 ) - { - $query = sprintf("SELECT CONCAT(username, '@', domain ) AS destination FROM %s WHERE alias_username = '%s' AND alias_domain = '%s'", - $config['kamailio_alias_table'], - sql_clean($alias_username), sql_clean($alias_domain)); - $result = sql_dbquery($config['kamailio_db'], $query); - $row = mysql_fetch_row($result); - if ( is_string( $row[0] ) ) return $row[0]; - return true; // Failure mode.. - } - - return false; -} - -function add_alias( $alias_username, $alias_domain, $dest_username, $dest_domain ) -{ - global $config; - // The following will, in normal cases, lead to a double-test, and double the number of queries... - // Defensive comment: better safe than sorry :P - if ( alias_exists( $alias_username, $alias_domain ) ) - return false; - - $query = sprintf("INSERT INTO %s ( alias_username, alias_domain, username, domain) VALUES ('%s','%s','%s','%s')", - $config['kamailio_alias_table'], - sql_clean($alias_username), sql_clean($alias_domain), - sql_clean($dest_username), sql_clean($dest_domain)); - - return sql_dbexec( $config['kamailio_db'], $query); - -} - -function remove_alias ( $alias_username, $alias_domain ) -{ - global $config; - if (! alias_exists ( $alias_username, $alias_domain ) ) return false; - $query = sprintf ("DELETE FROM %s WHERE alias_username = '%s' AND alias_domain = '%s'", - $config['kamailio_alias_table'], - sql_clean( $alias_username ), - sql_clean( $alias_domain )); - return sql_dbexec( $config['kamailio_db'], $query); - -} - -?>