2
include("lib/xmlrpc.inc");
3
include("lib/xmlrpcs.inc");
4
include("connectie.php");
6
function createSession($level)
10
$query = "INSERT INTO sessions (id,expire,level) VALUE ('$id',DATE_ADD(NOW(),INTERVAL 2 HOUR),'$level')";
11
$result = mysql_query($query);
23
function setLevel($id,$level)
25
$query = "UPDATE sessions SET level='$level' WHERE id='$id'";
27
$result = mysql_query($query);
31
return array(true,$level);
39
function checkLevel($id,$level)
41
$query = "DELETE FROM sessions WHERE expire < NOW()";
47
$query = "SELECT * FROM sessions WHERE expire >= NOW() AND id='$id'";
48
$result = mysql_query($query);
52
while($row = mysql_fetch_assoc($result))
54
if($row["level"] == $level || $row["level"] == -1)
63
function checkSession($id)
65
$query = "DELETE FROM sessions WHERE expire < NOW()";
68
$query = "SELECT * FROM sessions WHERE expire >= NOW()";
69
$result = mysql_query($query);
73
while($row = mysql_fetch_assoc($result))
84
function deleteSession($id)
86
$query = "DELETE FROM sessions WHERE expire < NOW() OR id='$id'";
89
$files = scandir("rpc");
90
foreach($files as $file)
92
if(substr_count($file,".php"))
98
function login($sessid,$name,$passwd)
100
global $xmlrpcerruser;
102
if(!checkSession($sessid))
103
return new xmlrpcresp(0,$xmlrpcerruser+3,"Ongeldige sessie");
105
$query = "select * from user where name = '$name'";
106
$resultaat = mysql_query($query);
113
return new xmlrpcresp(0,$xmlrpcerruser+1,"Opvragen van users mislukt: ".mysql_error());
117
while($row = mysql_fetch_array($resultaat))
119
if($passwd == $row['passwd'])
121
$level = $row['role'];
126
return setLevel($sessid,$level);
129
function loginStatus($id)
131
return checkSession($id);
135
$s = new xmlrpc_server(
137
"smdb.type.retrieve" => array("function" => "typeRetrieve"),
138
"smdb.type.one" => array("function" => "typeOne"),
139
"smdb.type.free" => array("function" => "typeFree"),
140
"smdb.type.set" => array("function" => "typeSet"),
141
"smdb.type.add" => array("function" => "typeAdd"),
142
"smdb.type.rem" => array("function" => "typeRem"),
143
"smdb.type.songs" => array("function" => "typeSongs"),
145
"smdb.composer.retrieve" => array("function" => "composerRetrieve"),
146
"smdb.composer.one" => array("function" => "composerOne"),
147
"smdb.composer.free" => array("function" => "composerFree"),
148
"smdb.composer.set" => array("function" => "composerSet"),
149
"smdb.composer.add" => array("function" => "composerAdd"),
150
"smdb.composer.rem" => array("function" => "composerRem"),
151
"smdb.composer.songs" => array("function" => "composerSongs"),
153
"smdb.song.retrieve" => array("function" => "songRetrieve"),
154
"smdb.song.one" => array("function" => "songOne"),
155
"smdb.song.free" => array("function" => "songFree"),
156
"smdb.song.set" => array("function" => "songSet"),
157
"smdb.song.add" => array("function" => "songAdd"),
158
"smdb.song.rem" => array("function" => "songRem"),
160
"smdb.session.new" => array("function" => "createSession"),
161
"smdb.session.login" => array("function" => "login"),
162
"smdb.session.isValid" => array("function" => "checkSession"),
163
"smdb.session.end" => array("function" => "deleteSession"),
165
$s->functions_parameters_type = 'phpvals';