~daniel-sonck/smdb/1.0

« back to all changes in this revision

Viewing changes to PHP/rpc/songs.php

  • Committer: Daniel Sonck
  • Date: 2012-05-30 00:22:57 UTC
  • Revision ID: daniel.sonck@ziggo.nl-20120530002257-exlbee8j0tov1e0z
PHP server side added

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?php
 
2
function songRetrieve($sessid)
 
3
{
 
4
        global $xmlrpcerruser;
 
5
        $returnval = array();
 
6
        $query = "SELECT id, name, metadata, composer_id, type_id FROM songs";
 
7
        $result = mysql_query($query);
 
8
         
 
9
        if(!$result)
 
10
        {
 
11
                return new xmlrpcresp(0,$xmlrpcerruser+1,"Opvragen van types mislukt: ".mysql_error());
 
12
        }
 
13
         
 
14
        $array = array();
 
15
        $i ++;
 
16
        while($row = mysql_fetch_assoc($result))
 
17
        {
 
18
                $array[$i] = $row;
 
19
                $i ++;
 
20
        }
 
21
         
 
22
        foreach($array as $item)
 
23
        {
 
24
                $meta = explode("|",$item["metadata"]);
 
25
                $metaarray = array();
 
26
                foreach($meta as $metaitem)
 
27
                {
 
28
                        list($field,$value) = explode("=",$metaitem);
 
29
                        $metaarray[$field] = $value;
 
30
                }
 
31
                $row = array(
 
32
                                "id" => $item["id"],
 
33
                                "name" => $item["name"],
 
34
                                "composer" => $item["composer_id"],
 
35
                                "type" => $item["type_id"],
 
36
                                "metadata" => $metaarray,
 
37
                );
 
38
                $returnval[] = $row;
 
39
        }
 
40
        return $returnval;
 
41
}
 
42
 
 
43
function songOne($sessid,$id )
 
44
{
 
45
        global $xmlrpcerruser;
 
46
        $returnval = array();
 
47
        $query = "SELECT id, name, metadata, composer_id, type_id FROM songs WHERE id='$id'";
 
48
        $result = mysql_query($query);
 
49
 
 
50
        if(!$result)
 
51
        {
 
52
                return new xmlrpcresp(0,$xmlrpcerruser+1,"Opvragen van types mislukt: ".mysql_error());
 
53
        }
 
54
 
 
55
        $array = array();
 
56
        $i ++;
 
57
        while($row = mysql_fetch_assoc($result))
 
58
        {
 
59
                $array[$i] = $row;
 
60
                $i ++;
 
61
        }
 
62
 
 
63
        foreach($array as $item)
 
64
        {
 
65
                $meta = explode("|",$item["metadata"]);
 
66
                $metaarray = array();
 
67
                foreach($meta as $metaitem)
 
68
                {
 
69
                        list($field,$value) = explode("=",$metaitem);
 
70
                        $metaarray[$field] = $value;
 
71
                }
 
72
                $row = array(
 
73
                                "id" => $item["id"],
 
74
                                "name" => $item["name"],
 
75
                                "composer" => $item["composer_id"],
 
76
                                "type" => $item["type_id"],
 
77
                                "metadata" => $metaarray,
 
78
                );
 
79
                $returnval[] = $row;
 
80
        }
 
81
        return $returnval;
 
82
}
 
83
 
 
84
function songFree($sessid)
 
85
{
 
86
 global $xmlrpcerruser;
 
87
 $returnval = array();
 
88
 $query = "SELECT id FROM songs";
 
89
 $result = mysql_query($query);
 
90
 
 
91
 if(!$result)
 
92
 {
 
93
  return new xmlrpcresp(0,$xmlrpcerruser+1,"Opvragen van types mislukt: ".mysql_error());
 
94
 }
 
95
 
 
96
 $ids = array();
 
97
 while($row = mysql_fetch_assoc($result))
 
98
 {
 
99
  $ids[] = $row["id"];
 
100
 }
 
101
 
 
102
 $id = 1;
 
103
 $i = 0;
 
104
 while($i < count($ids))
 
105
 {
 
106
  if($id == $ids[$i])
 
107
  {
 
108
   $id ++;
 
109
   $i = 0;
 
110
  }
 
111
  else
 
112
  {
 
113
   $i ++;
 
114
  }
 
115
 }
 
116
 return $id;
 
117
}
 
118
 
 
119
function songSet($sessid,$data)
 
120
{
 
121
        $id = $data["id"];
 
122
        $name = $data["name"];
 
123
        $composer = $data["composer"];
 
124
        $type = $data["type"];
 
125
        $metadata = $data["metadata"];
 
126
        global $xmlrpcerruser;
 
127
        if(!checkSession($sessid))
 
128
                return new xmlrpcresp(0,$xmlrpcerruser+3,"Ongeldige sessie");
 
129
 
 
130
        if(!checkLevel($sessid,-1))
 
131
                return new xmlrpcresp(0,$xmlrpcerruser+4,"Niet bevoegd of niet ingelogd");
 
132
 
 
133
        $metaarray = array();
 
134
        foreach($metadata as $field => $value)
 
135
        {
 
136
                $metaarray[] = "$field=$value";
 
137
        }
 
138
 
 
139
        $metastring = join("|",$metaarray);
 
140
 
 
141
        $query = "UPDATE songs SET name='$name', composer_id='$composer', type_id='$type' , metadata='$metastring' WHERE id='$id'";
 
142
        $result = mysql_query($query);
 
143
        if($result)
 
144
                return array("id" => $id,
 
145
                                "name" => $name,
 
146
                                "composer" => $composer,
 
147
                                "type" => $type,
 
148
                                "metadata" => $metadata,
 
149
                );
 
150
}
 
151
 
 
152
function songRem($sessid,$data)
 
153
{
 
154
        $id = $data["id"];
 
155
        $name = $data["name"];
 
156
        $metadata = $data["metadata"];
 
157
        global $xmlrpcerruser;
 
158
        if(!checkSession($sessid))
 
159
                return new xmlrpcresp(0,$xmlrpcerruser+3,"Ongeldige sessie");
 
160
 
 
161
        if(!checkLevel($sessid,-1))
 
162
                return new xmlrpcresp(0,$xmlrpcerruser+4,"Niet bevoegd of niet ingelogd");
 
163
 
 
164
        $query = "DELETE FROM songs WHERE id='$id'";
 
165
        $result = mysql_query($query);
 
166
        if($result)
 
167
                return array("id" => $id,
 
168
                                "name" => $name,
 
169
                                "composer" => $item["composer_id"],
 
170
                                "type" => $item["type_id"],
 
171
                                "metadata" => $metadata,
 
172
                );
 
173
        return false;
 
174
}
 
175
 
 
176
function songAdd($sessid,$data)
 
177
{
 
178
        $id = $data["id"];
 
179
        $name = $data["name"];
 
180
        $composer = $data["composer"];
 
181
        $type = $data["type"];
 
182
        $metadata = $data["metadata"];
 
183
        global $xmlrpcerruser;
 
184
        if(!checkSession($sessid))
 
185
                return new xmlrpcresp(0,$xmlrpcerruser+3,"Ongeldige sessie");
 
186
 
 
187
        if(!checkLevel($sessid,-1))
 
188
                return new xmlrpcresp(0,$xmlrpcerruser+4,"Niet bevoegd of niet ingelogd");
 
189
 
 
190
        $metaarray = array();
 
191
        foreach($metadata as $field => $value)
 
192
        {
 
193
                $metaarray[] = "$field=$value";
 
194
        }
 
195
 
 
196
        $metastring = join("|",$metaarray);
 
197
 
 
198
        $query = "INSERT INTO songs (id,name,composer_id,type_id,metadata) VALUE ('$id','$name','$composer','$type', '$metastring')";
 
199
        $result = mysql_query($query);
 
200
        if($result)
 
201
                return array("id" => $id,
 
202
                                "name" => $name,
 
203
                                "composer" => $item["composer_id"],
 
204
                                "type" => $item["type_id"],
 
205
                                "metadata" => $metadata,
 
206
                );
 
207
        return false;
 
208
}
 
209
 
 
210
?>
 
 
b'\\ No newline at end of file'