]> git.defcon.no Git - hermes/blob - api/lib/domain_functions.php
First stab at a naive permissions-tool
[hermes] / api / lib / domain_functions.php
1 <?php
2 /*
3 # Copyright (c) 2012, Gjøvik University College
4 # All rights reserved.
5
6 # Redistribution and use in source and binary forms, with or without
7 # modification, are permitted provided that the following conditions are met:
8 # * Redistributions of source code must retain the above copyright
9 # notice, this list of conditions and the following disclaimer.
10 # * Redistributions in binary form must reproduce the above copyright
11 # notice, this list of conditions and the following disclaimer in the
12 # documentation and/or other materials provided with the distribution.
13 # * Neither the name of the Gjøvik University College nor the
14 # names of its contributors may be used to endorse or promote products
15 # derived from this software without specific prior written permission.
16 #
17 # THIS SOFTWARE IS PROVIDED BY Gjøvik University College ''AS IS'' AND ANY
18 # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 # DISCLAIMED. IN NO EVENT SHALL Gjøvik University College BE LIABLE FOR ANY
21 # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28 require_once('config.php');
29 require_once('lib/common_functions.php');
30 require_once('lib/db_functions.php');
31
32 function get_domains()
33 {
34 global $config;
35 $query = sprintf("SELECT domain FROM %s",
36 $config['kamailio_domain_table']);
37
38 $result = sql_dbquery( $config['kamailio_db'], $query);
39 if ( ! $result ) return -1;
40
41 $domains = array();
42 while ( $row = mysql_fetch_row($result) ) { array_push($domains, $row[0]); }
43 return $domains;
44 }
45
46 function set_servers ( $domain, $registrar, $r_port, $proxy, $p_port, $prov_url )
47 {
48 global $config;
49
50 $query = "";
51
52 $prev_servers = get_servers( $domain );
53 if ( $prev_servers )
54 {
55 $query = sprintf("UPDATE %s SET
56 registrar = '%s', r_port = %d,
57 proxy = '%s', p_port = %d,
58 prov_url = '%s'
59 WHERE domain = '%s'",
60 $config['hermes_servers_table'],
61 sql_clean($registrar),
62 $r_port,
63 sql_clean($proxy),
64 $p_port,
65 sql_clean($prov_url),
66 sql_clean($domain)
67 );
68 }
69 else
70 {
71 $query = sprintf("INSERT INTO %s
72 (domain, registrar, r_port, proxy, p_port, prov_url)
73 VALUES ('%s', '%s', %d, '%s', %d, '%s')",
74 $config['hermes_servers_table'],
75 sql_clean($domain),
76 sql_clean($registrar),
77 $r_port,
78 sql_clean($proxy),
79 $p_port,
80 sql_clean($prov_url)
81 );
82
83 }
84 return sql_dbexec( $config['hermes_db'], $query );
85 }
86 ?>