]> git.defcon.no Git - hermes/blobdiff - lib/user_functions.php
Added and implemented user/change_pw, user/update and user/change_email, removed...
[hermes] / lib / user_functions.php
index 180843717388df5547d7883c6e14c2d8bd660a2d..e618d4c5bdb5bd83f143dc8a4ecac65f8ebc0abd 100644 (file)
@@ -102,6 +102,25 @@ function update_kamailio_pw ( $username, $domain, $password )
        return true;
 }
 
+function update_kamailio_email ( $username, $domain, $email )
+{
+       global $config;
+
+       if ( ! ($username && $domain && $email))
+               return false;
+
+       $query = sprintf("UPDATE %s SET email_address = '%s' WHERE username = '%s' AND domain = '%s'",
+               $config['kamailio_subscriber_table'],
+               sql_clean($email),
+               sql_clean($username),
+               sql_clean($domain)
+       
+       );
+       if ( sql_dbexec_rows( $config['kamailio_db'], $query) != 1 ) return false;
+       return true;
+}
+
+
 function add_provision_user( $username, $password, $domain, $authid, $registrar, $r_port, $proxy, $p_port, $displayname, $dialplan, $linetext )
 {      global $config;
 
@@ -157,6 +176,42 @@ function delete_provision_user( $username, $domain )
        return true;
 }
 
+function update_provision_data ( $param, $username, $domain, $data )
+{
+       global $config;
+
+       if (! (
+               $param == "displayname" ||
+               $param == "dialplan" ||
+               $param == "linetext" ||
+               $param == "registrar" ||
+               $param == "r_port" ||
+               $param == "proxy" ||
+               $param == "p_port"
+               ) ) return -1;
+
+
+       if ( ! ($username && $domain))
+               return -1;
+
+       if ( ! is_provision_user( $username, $domain ) )
+               return -2;
+
+       $query = sprintf("UPDATE %s SET %s = '%s' WHERE username = '%s' AND domain = '%s'",
+               $config['provision_users_table'],
+               sql_clean($param),
+               sql_clean($data),
+               sql_clean($username),
+               sql_clean($domain)
+       
+       );
+       $res = sql_dbexec_rows( $config['provision_db'], $query);
+
+       if ( $res < 0 ) return -2;
+       if ( $res > 1 ) return -2;
+       return  $res;
+}
+
 function update_provision_pw ( $username, $domain, $password )
 {
        global $config;
@@ -241,7 +296,7 @@ function get_userdata( $username, $domain )
        $user['linetext']    = $provision_data['linetext'];
        if ( $type == 'local' )
        {
-               $user['email'] = $kamailio_data['email'];
+               $user['email'] = $kamailio_data['email_address'];
                $user['ha1']   = $kamailio_data['ha1'];
                $user['ha1b']  = $kamailio_data['ha1b'];
                $user['rpid']  = $kamailio_data['rpid'];