@@ 22-668 (lines=647) @@ | ||
19 | * @since 1.0 |
|
20 | * @author Michael Albertsen (http://culex.dk) <[email protected]> |
|
21 | */ |
|
22 | class SmallWorldDB |
|
23 | { |
|
24 | /** |
|
25 | * getJobsToDiv function |
|
26 | * @param int $id |
|
27 | * @returns Array |
|
28 | */ |
|
29 | public function getJobsToDiv($id) |
|
30 | { |
|
31 | global $xoopsUser, $xoopsDB; |
|
32 | $msg = []; |
|
33 | $new = []; |
|
34 | $sql = 'SELECT employer,position,jobstart,jobstop,description FROM ' . $xoopsDB->prefix('smallworld_user') . " WHERE userid ='" . $id . "'"; |
|
35 | $result = $xoopsDB->query($sql); |
|
36 | while ($row = $xoopsDB->fetchArray($result)) { |
|
37 | $employer = unserialize($row['employer']); |
|
38 | $position = unserialize($row['position']); |
|
39 | $jobstart = unserialize($row['jobstart']); |
|
40 | $jobstop = unserialize($row['jobstop']); |
|
41 | $description = unserialize($row['description']); |
|
42 | } |
|
43 | $start = 0; |
|
44 | $end = count($employer) - 1; |
|
45 | while ($start <= $end) { |
|
46 | $msg[$start]['employer'] = $employer[$start]; |
|
47 | $msg[$start]['position'] = $position[$start]; |
|
48 | $msg[$start]['jobstart'] = $jobstart[$start]; |
|
49 | $msg[$start]['jobstop'] = $jobstop[$start]; |
|
50 | $msg[$start]['description'] = $description[$start]; |
|
51 | ++$start; |
|
52 | } |
|
53 | return $msg; |
|
54 | } |
|
55 | ||
56 | /** |
|
57 | * getSchoolToDiv function |
|
58 | * @param int $id |
|
59 | * @returns Array |
|
60 | */ |
|
61 | public function getSchoolToDiv($id) |
|
62 | { |
|
63 | global $xoopsUser, $xoopsDB, $arr7; |
|
64 | $msg = []; |
|
65 | $sql = 'SELECT school_type,school,schoolstart,schoolstop FROM ' . $xoopsDB->prefix('smallworld_user') . " WHERE userid ='" . $id . "'"; |
|
66 | $result = $xoopsDB->query($sql); |
|
67 | while ($row = $xoopsDB->fetchArray($result)) { |
|
68 | $school_type = unserialize($row['school_type']); |
|
69 | $school = unserialize($row['school']); |
|
70 | $schoolstart = unserialize($row['schoolstart']); |
|
71 | $schoolstop = unserialize($row['schoolstop']); |
|
72 | } |
|
73 | $start = 0; |
|
74 | $end = count($school_type) - 1; |
|
75 | while ($start <= $end) { |
|
76 | $msg[$start]['school_type'] = $school_type[$start]; |
|
77 | $msg[$start]['school'] = $arr7[$school[$start]]; |
|
78 | $msg[$start]['schoolstart'] = $schoolstart[$start]; |
|
79 | $msg[$start]['schoolstop'] = $schoolstop[$start]; |
|
80 | $start++; |
|
81 | } |
|
82 | return $msg; |
|
83 | } |
|
84 | ||
85 | /** |
|
86 | * getScreennamesToDiv function |
|
87 | * @param int $id |
|
88 | * @returns Array |
|
89 | */ |
|
90 | public function getScreennamesToDiv($id) |
|
91 | { |
|
92 | global $xoopsUser, $xoopsDB, $arr06; |
|
93 | $msg = []; |
|
94 | $sql = 'SELECT screenname_type,screenname FROM ' . $xoopsDB->prefix('smallworld_user') . " WHERE userid ='" . $id . "'"; |
|
95 | $result = $xoopsDB->query($sql); |
|
96 | while ($row = $xoopsDB->fetchArray($result)) { |
|
97 | $screenname_type = unserialize($row['screenname_type']); |
|
98 | $screenname = unserialize($row['screenname']); |
|
99 | } |
|
100 | $start = 0; |
|
101 | $end = count($screenname_type) - 1; |
|
102 | while ($start <= $end) { |
|
103 | $msg[$start]['screenname'] = $screenname_type[$start]; |
|
104 | $msg[$start]['screenname_type'] = $arr06[$screenname[$start]]; |
|
105 | $msg[$start]['link'] = "<span class='smallworld_website'>" . Smallworld_sociallinks($screenname[$start], $msg[$start]['screenname']); |
|
106 | ++$start; |
|
107 | } |
|
108 | return $msg; |
|
109 | } |
|
110 | ||
111 | /** |
|
112 | * getVar function |
|
113 | * @param int $id |
|
114 | * @param string $var |
|
115 | * @return array|int |
|
116 | */ |
|
117 | public function getVar($id, $var) |
|
118 | { |
|
119 | global $xoopsUser, $xoopsDB; |
|
120 | $sql = 'SELECT ' . $var . ' FROM ' . $xoopsDB->prefix('smallworld_user') . " WHERE userid = '" . $id . "'"; |
|
121 | $result = $xoopsDB->queryF($sql); |
|
122 | if ($xoopsDB->getRowsNum($result) < 1) { |
|
123 | return 0;//_SMALLWORLD_REPLY_NOTSPECIFIED; |
|
124 | } |
|
125 | while ($row = $xoopsDB->fetchArray($result)) { |
|
126 | $msg[$var] = $row[$var]; |
|
127 | } |
|
128 | return $msg[$var]; |
|
129 | } |
|
130 | ||
131 | /** |
|
132 | * updateSingleValue function |
|
133 | * @param string $table |
|
134 | * @param int $userid |
|
135 | * @param string $field |
|
136 | * @param int $value |
|
137 | * @return void |
|
138 | */ |
|
139 | public function updateSingleValue($table, $userid, $field, $value) |
|
140 | { |
|
141 | global $xoopsUser, $xoopsDB; |
|
142 | $myts = MyTextSanitizer::getInstance(); |
|
143 | $sql = 'UPDATE ' . $xoopsDB->prefix($table) . ' SET ' . $field . "='" . $myts->addSlashes($value) . "' WHERE userid='" . (int)$userid . "'"; |
|
144 | $result = $xoopsDB->queryF($sql); |
|
145 | } |
|
146 | ||
147 | /** |
|
148 | * saveImage function |
|
149 | * @param $values |
|
150 | * @return void |
|
151 | */ |
|
152 | public function saveImage($values) |
|
153 | { |
|
154 | global $xoopsUser, $xoopsDB; |
|
155 | $myts = MyTextSanitizer::getInstance(); |
|
156 | $sql = 'INSERT INTO ' . $xoopsDB->prefix('smallworld_images') . ' VALUES (' . $values . ')'; |
|
157 | $result = $xoopsDB->queryF($sql); |
|
158 | } |
|
159 | ||
160 | /** |
|
161 | * DeleteImage function |
|
162 | * @param int $userid |
|
163 | * @param string $imagename |
|
164 | * @return void |
|
165 | */ |
|
166 | public function DeleteImage($userid, $imagename) |
|
167 | { |
|
168 | global $xoopsUser, $xoopsDB; |
|
169 | $myts = MyTextSanitizer::getInstance(); |
|
170 | $sql = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_images') . " WHERE imgname = '" . stripslashes($imagename) . "' AND userid='" . $userid . "'"; |
|
171 | $result = $xoopsDB->queryF($sql); |
|
172 | } |
|
173 | ||
174 | /** |
|
175 | * handlePosts function |
|
176 | * @return void |
|
177 | */ |
|
178 | public function handlePosts() |
|
179 | { |
|
180 | ||
181 | global $xoopsUser, $xoopsDB; |
|
182 | $myts = MyTextSanitizer::getInstance(); |
|
183 | $uid = $xoopsUser->getVar('uid'); |
|
184 | $user = new XoopsUser($uid); |
|
185 | $img = new SmallWorldImages; |
|
186 | if ('' == $this->getVar($uid, 'userimage')) { |
|
187 | $avatar = $user->user_avatar(); |
|
188 | } else { |
|
189 | $avatar = $this->getVar($uid, 'userimage'); |
|
190 | } |
|
191 | ||
192 | if ('2' != $_POST['relationship']) { |
|
193 | $partner = Smallworld_sanitize($_POST['partner']); |
|
194 | } else { |
|
195 | $partner = ''; |
|
196 | } |
|
197 | ||
198 | $regdate = time(); |
|
199 | $username = $user->uname(); |
|
200 | $realname = Smallworld_sanitize($_POST['realname']); |
|
201 | $gender = isset($_POST['gender']) ? $_POST['gender'] : ''; |
|
202 | $intingender = isset($_POST['intingender']) ? Smallworld_sanitize(serialize($_POST['intingender'])) : Smallworld_sanitize(serialize([0 => '3'])); |
|
203 | $relationship = Smallworld_sanitize($_POST['relationship']); |
|
204 | $searchrelat = isset($_POST['searchrelat']) ? Smallworld_sanitize(serialize($_POST['searchrelat'])) : Smallworld_sanitize(serialize([0 => '0'])); |
|
205 | $birthday = Smallworld_sanitize(Smallworld_euroToUsDate($_POST['birthday'])); |
|
206 | $birthplace = Smallworld_sanitize($_POST['birthplace']); |
|
207 | $birthplace_lat = Smallworld_sanitize($_POST['birthplace_lat']); |
|
208 | $birthplace_lng = Smallworld_sanitize($_POST['birthplace_lng']); |
|
209 | $birthplace_country = Smallworld_sanitize($_POST['birthplace_country']); |
|
210 | $birthplace_country_img = isset($_POST['birthplace_country_img']) ? Smallworld_sanitize($_POST['birthplace_country_img']) : ''; |
|
211 | $politic = Smallworld_sanitize($_POST['politic']); |
|
212 | $religion = Smallworld_sanitize($_POST['religion']); |
|
213 | $emailtype = Smallworld_sanitize(serialize($_POST['emailtype'])); |
|
214 | $screenname_type = Smallworld_sanitize(serialize($_POST['screenname_type'])); |
|
215 | $screenname = Smallworld_sanitize(serialize($_POST['screenname'])); |
|
216 | $mobile = Smallworld_sanitize($_POST['mobile']); |
|
217 | $phone = Smallworld_sanitize($_POST['phone']); |
|
218 | $adress = Smallworld_sanitize($_POST['adress']); |
|
219 | $present_city = Smallworld_sanitize($_POST['present_city']); |
|
220 | $present_lat = Smallworld_sanitize($_POST['present_lat']); |
|
221 | $present_lng = Smallworld_sanitize($_POST['present_lng']); |
|
222 | $present_country = Smallworld_sanitize($_POST['present_country']); |
|
223 | $present_country_img = isset($_POST['present_country_img']) ? Smallworld_sanitize($_POST['present_country_img']) : ''; |
|
224 | $website = Smallworld_sanitize($_POST['website']); |
|
225 | $interests = Smallworld_sanitize($_POST['interests']); |
|
226 | $music = Smallworld_sanitize($_POST['music']); |
|
227 | $tvshow = Smallworld_sanitize($_POST['tvshow']); |
|
228 | $movie = Smallworld_sanitize($_POST['movie']); |
|
229 | $books = Smallworld_sanitize($_POST['books']); |
|
230 | $aboutme = Smallworld_sanitize($_POST['aboutme']); |
|
231 | $school_type = Smallworld_sanitize(serialize($_POST['school_type'])); |
|
232 | $school = Smallworld_sanitize(serialize($_POST['school'])); |
|
233 | $schoolstart = Smallworld_sanitize(serialize($_POST['schoolstart'])); |
|
234 | $schoolstop = Smallworld_sanitize(serialize($_POST['schoolstop'])); |
|
235 | $jobemployer = Smallworld_sanitize(serialize($_POST['employer'])); |
|
236 | $jobposition = Smallworld_sanitize(serialize($_POST['position'])); |
|
237 | $jobstart = Smallworld_sanitize(serialize(Smallworld_YearOfArray($_POST['jobstart']))); |
|
238 | $jobstop = Smallworld_sanitize(serialize(Smallworld_YearOfArray($_POST['jobstop']))); |
|
239 | $jobdescription = Smallworld_sanitize(serialize($_POST['description'])); |
|
240 | ||
241 | $sql = ''; |
|
242 | ||
243 | if ('edit' === $_POST['function']) { |
|
244 | // Update all values in user_table |
|
245 | $sql = 'UPDATE ' . $xoopsDB->prefix('smallworld_user') . ' SET '; |
|
246 | $sql .= "realname = '" . $realname . "', username= '" . $username . "', userimage = '" . $avatar . "', gender = '" . $gender . "',"; |
|
247 | $sql .= "intingender = '" . $intingender . "',relationship = '" . $relationship . "', partner = '" . $partner . "', searchrelat = '" . $searchrelat . "',"; |
|
248 | $sql .= "birthday = '" . $birthday . "',birthplace = '" . $birthplace . "',birthplace_lat = '" . (float)$birthplace_lat . "',"; |
|
249 | $sql .= "birthplace_lng = '" . (float)$birthplace_lng . "',birthplace_country = '" . $birthplace_country . "',politic = '" . $politic . "',"; |
|
250 | $sql .= "religion = '" . $religion . "',emailtype = '" . $emailtype . "',screenname_type = '" . $screenname_type . "',"; |
|
251 | $sql .= "screenname = '" . $screenname . "',mobile = '" . (float)$mobile . "',phone = '" . (float)$phone . "',adress = '" . $adress . "',"; |
|
252 | $sql .= "present_city = '" . $present_city . "',present_lat = '" . (float)$present_lat . "',present_lng = '" . (float)$present_lng . "',"; |
|
253 | $sql .= "present_country = '" . $present_country . "',website = '" . $website . "',interests = '" . $interests . "',"; |
|
254 | $sql .= "music = '" . $music . "',tvshow = '" . $tvshow . "',movie = '" . $movie . "',"; |
|
255 | $sql .= "books = '" . $books . "',aboutme = '" . $aboutme . "',school_type = '" . $school_type . "',"; |
|
256 | $sql .= "school = '" . $school . "', schoolstart = '" . $schoolstart . "',schoolstop = '" . $schoolstop . "',"; |
|
257 | $sql .= "employer = '" . $jobemployer . "', position = '" . $jobposition . "',jobstart = '" . $jobstart . "',"; |
|
258 | $sql .= "jobstop = '" . $jobstop . "', description = '" . $jobdescription . "' "; |
|
259 | $sql .= "WHERE userid ='" . (int)$uid . "'"; |
|
260 | $result = $xoopsDB->queryF($sql); |
|
261 | if (false === $result) { |
|
262 | die('SQL error:' . $sql . ''); |
|
263 | } |
|
264 | ||
265 | $this->EditAdmins($uid, $realname, $avatar); |
|
266 | $img->createAlbum($uid); |
|
267 | } |
|
268 | ||
269 | if ('save' === $_POST['function']) { |
|
270 | $sql = 'INSERT INTO ' |
|
271 | . $xoopsDB->prefix('smallworld_user') |
|
272 | . ' (userid, regdate, username, userimage, realname, gender, intingender, relationship, partner, searchrelat, birthday, birthplace, birthplace_lat, birthplace_lng, birthplace_country, politic, religion, emailtype, screenname_type, screenname, mobile, phone, adress, present_city, present_lat, present_lng, present_country, website, interests, music, tvshow, movie, books, aboutme, school_type, school, schoolstart, schoolstop, employer, position, jobstart, jobstop, description, friends, followers, admin_flag) '; |
|
273 | $sql .= "VALUES ('" . (int)$uid . "', '" . $regdate . "', '" . $username . "', '" . $avatar . "', '" . $realname . "', '" . $gender . "', '" . $intingender . "', '" . $relationship . "', '" . $partner . "', '" . $searchrelat . "','"; |
|
274 | $sql .= $birthday . "', '" . $birthplace . "', '" . (float)$birthplace_lat . "', '" . (float)$birthplace_lng . "', '" . $birthplace_country . "', '" . $politic . "', '" . $religion . "','"; |
|
275 | $sql .= $emailtype . "', '" . $screenname_type . "', '" . $screenname . "', '" . (float)$mobile . "', '" . (float)$phone . "', '" . $adress . "', '" . $present_city . "', '" . (float)$present_lat . "','"; |
|
276 | $sql .= (float)$present_lng . "', '" . $present_country . "', '" . $website . "', '" . $interests . "', '" . $music . "', '" . $tvshow . "', '" . $movie . "', '" . $books . "', '" . $aboutme . "', '"; |
|
277 | $sql .= $school_type . "', '" . $school . "', '" . $schoolstart . "', '" . $schoolstop . "', '" . $jobemployer . "', '" . $jobposition . "', '" . $jobstart . "', '" . $jobstop . "', '" . $jobdescription . "', "; |
|
278 | $sql .= "'0', '0', '0')"; |
|
279 | $result = $xoopsDB->queryF($sql); |
|
280 | if (false === $result) { |
|
281 | die('SQL error:' . $sql . ''); |
|
282 | } |
|
283 | $this->SetAdmins($uid, $username, $realname, $avatar); |
|
284 | $img->createAlbum($uid); |
|
285 | } |
|
286 | } |
|
287 | ||
288 | /** |
|
289 | * SetAdmins function |
|
290 | * @param int $userID |
|
291 | * @param string $username |
|
292 | * @param string $realname |
|
293 | * @param mixed $avatar |
|
294 | * @return void |
|
295 | */ |
|
296 | public function SetAdmins($userID, $username, $realname, $avatar) |
|
297 | { |
|
298 | global $xoopsDB, $xoopsUser; |
|
299 | $ip = $_SERVER['REMOTE_ADDR']; |
|
300 | $sql = 'INSERT INTO ' . $xoopsDB->prefix('smallworld_admin') . ' (id,userid,username, realname,userimage,ip,complaint,inspect_start, ' . "inspect_stop) VALUES ('', '" . $userID . "', '" . $username . "','" . $realname . "', '" . $avatar . "','" . $ip . "','0','0','0')"; |
|
301 | $result = $xoopsDB->queryF($sql); |
|
302 | } |
|
303 | ||
304 | /** |
|
305 | * EditAdmins function |
|
306 | * @param int $userID |
|
307 | * @param string $realname |
|
308 | * @param mixed $avatar |
|
309 | * @return void |
|
310 | */ |
|
311 | public function EditAdmins($userID, $realname, $avatar) |
|
312 | { |
|
313 | global $xoopsDB; |
|
314 | $sql = 'UPDATE ' . $xoopsDB->prefix('smallworld_admin') . " SET realname = '" . $realname . "', userimage = '" . $avatar . "' WHERE userid = '" . (int)$userID . "'"; |
|
315 | $result = $xoopsDB->queryF($sql); |
|
316 | } |
|
317 | ||
318 | /** |
|
319 | * alreadycomplaint function |
|
320 | * - Check if user has already sent complaint |
|
321 | * @param string $msg |
|
322 | * @param int $by |
|
323 | * @param int $against |
|
324 | * @return int |
|
325 | */ |
|
326 | public function alreadycomplaint($msg, $by, $against) |
|
327 | { |
|
328 | global $xoopsDB; |
|
329 | $sql = 'SELECT * FROM ' . $xoopsDB->prefix('smallworld_complaints') . " WHERE byuser_id = '" . (int)$by . "' AND owner = '" . (int)$against . "' AND link = '" . addslashes($msg) . "'"; |
|
330 | $result = $xoopsDB->queryF($sql); |
|
331 | $i = $xoopsDB->getRowsNum($result); |
|
332 | if ($i < 1) { |
|
333 | $query = 'INSERT INTO ' . $xoopsDB->prefix('smallworld_complaints') . " (complaint_id,link,byuser_id,owner) VALUES ('', '" . addslashes($msg) . "', '" . (int)$by . "', '" . (int)$against . "')"; |
|
334 | $result = $xoopsDB->queryF($query); |
|
335 | } else { |
|
336 | } |
|
337 | return $i; |
|
338 | } |
|
339 | ||
340 | /** |
|
341 | * updateComplaint function |
|
342 | * @param int $userID |
|
343 | * @return void |
|
344 | */ |
|
345 | public function updateComplaint($userID) |
|
346 | { |
|
347 | global $xoopsDB; |
|
348 | $sql = 'UPDATE ' . $xoopsDB->prefix('smallworld_admin') . ' SET complaint = complaint + 1 ' . "WHERE userid = '" . (int)$userID . "'"; |
|
349 | $result = $xoopsDB->queryF($sql); |
|
350 | } |
|
351 | ||
352 | /** |
|
353 | * updateInspection function |
|
354 | * @param int $userID |
|
355 | * @param int $start |
|
356 | * @param int stop |
|
357 | * @return void |
|
358 | */ |
|
359 | public function updateInspection($userID, $start, $stop) |
|
360 | { |
|
361 | global $xoopsDB; |
|
362 | $newstop = $time() + $stop; |
|
363 | $sql = 'UPDATE ' . $xoopsDB->prefix('smallworld_admin') . " SET inspect_start = '" . $time() . "', instect_stop = '" . $newstop . "' WHERE userid ='" . (int)$userID . "'"; |
|
364 | $result = $xoopsDB->queryF($sql); |
|
365 | } |
|
366 | ||
367 | /** |
|
368 | * handleImageEdit function |
|
369 | * @return void |
|
370 | */ |
|
371 | public function handleImageEdit() |
|
372 | { |
|
373 | global $xoopsDB; |
|
374 | for ($i = 0, $iMax = count($_POST['id']); $i < $iMax; ++$i) { |
|
375 | $id = (int)$_POST['id'][$i]; |
|
376 | $desc = $_POST['imgdesc'][$i]; |
|
377 | $sql = 'UPDATE ' . $xoopsDB->prefix('smallworld_images') . " SET `desc` = '" . addslashes($desc) . "' WHERE `id`='" . $id . "'"; |
|
378 | $result = $xoopsDB->queryF($sql); |
|
379 | } |
|
380 | } |
|
381 | ||
382 | /** |
|
383 | * updateInspection function |
|
384 | * - insert aplication for friendship into db or delete if denied |
|
385 | * @param int $status |
|
386 | * @param int $friendid |
|
387 | * @param int $userid |
|
388 | * @return void |
|
389 | */ |
|
390 | public function toogleFriendInvite($status, $friendid, $userid) |
|
391 | { |
|
392 | global $xoopsDB; |
|
393 | if (0 == $status) { |
|
394 | $sql = 'INSERT INTO ' . $xoopsDB->prefix('smallworld_friends') . " (id,me,you,status,date) VALUES ('', '" . $userid . "', '" . $friendid . "', '1', UNIX_TIMESTAMP())"; |
|
395 | $result = $xoopsDB->queryF($sql); |
|
396 | } |
|
397 | if ($status > 0) { |
|
398 | $sql = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_friends') . " WHERE me = '" . (int)$friendid . "' AND you = '" . (int)$userid . "'"; |
|
399 | $sql2 = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_friends') . " WHERE me = '" . (int)$userid . "' AND you = '" . (int)$friendid . "'"; |
|
400 | $result = $xoopsDB->queryF($sql); |
|
401 | $result2 = $xoopsDB->queryF($sql2); |
|
402 | ||
403 | // Since friendship is canceled also following is deleted |
|
404 | $this->toogleFollow(1, $userid, $friendid); |
|
405 | } |
|
406 | } |
|
407 | ||
408 | /** |
|
409 | * toogleFollow function |
|
410 | * - Insert following to db or delete if requested |
|
411 | * @param int $following |
|
412 | * @param int $myUid |
|
413 | * @param int $friend |
|
414 | * @return void |
|
415 | */ |
|
416 | public function toogleFollow($following, $myUid, $friend) |
|
417 | { |
|
418 | global $xoopsDB; |
|
419 | if (0 == $following) { |
|
420 | $sql = 'INSERT INTO ' . $xoopsDB->prefix('smallworld_followers') . " (id,me,you,status,date) VALUES ('', '" . $myUid . "', '" . $friend . "', '1', UNIX_TIMESTAMP())"; |
|
421 | $result = $xoopsDB->queryF($sql); |
|
422 | } |
|
423 | if ($following > 0) { |
|
424 | $sql = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_followers') . " WHERE you = '" . (int)$friend . "'"; |
|
425 | $sql .= " AND me = '" . (int)$myUid . "'"; |
|
426 | $sql2 = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_followers') . " WHERE me = '" . (int)$friend . "'"; |
|
427 | $sql2 .= " AND you = '" . (int)$myUid . "'"; |
|
428 | $result2 = $xoopsDB->queryF($sql2); |
|
429 | } |
|
430 | } |
|
431 | ||
432 | /** |
|
433 | * SetFriendshitStat function |
|
434 | * @param int $stat |
|
435 | * @param int $myUid |
|
436 | * @param int $friend |
|
437 | * @return void |
|
438 | */ |
|
439 | public function SetFriendshitStat($stat, $myUid, $friend) |
|
440 | { |
|
441 | global $xoopsDB; |
|
442 | if (1 == $stat) { |
|
443 | $sql = 'UPDATE ' . $xoopsDB->prefix('smallworld_friends') . " SET status = '2' WHERE `me` = '" . $friend . "' AND `you` = '" . $myUid . "'"; |
|
444 | $result = $xoopsDB->queryF($sql); |
|
445 | $query = 'INSERT INTO ' . $xoopsDB->prefix('smallworld_friends') . " (id,me,you,status,date) VALUES ('', '" . $myUid . "', '" . $friend . "', '2', UNIX_TIMESTAMP())"; |
|
446 | $result = $xoopsDB->queryF($query); |
|
447 | } |
|
448 | if ($stat < 0) { |
|
449 | $sql = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_friends') . " WHERE me = '" . (int)$friend . "' AND you = '" . (int)$myUid . "'"; |
|
450 | $sql2 = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_friends') . " WHERE you = '" . (int)$friend . "' AND me = '" . (int)$myUid . "'"; |
|
451 | $result = $xoopsDB->queryF($sql); |
|
452 | $result2 = $xoopsDB->queryF($sql2); |
|
453 | } |
|
454 | } |
|
455 | ||
456 | /** |
|
457 | * deleteWallMsg function |
|
458 | * @param int $id |
|
459 | * @param int $smallworld_msg_id |
|
460 | * @return true |
|
461 | */ |
|
462 | public function deleteWallMsg($id, $smallworld_msg_id) |
|
463 | { |
|
464 | global $xoopsDB; |
|
465 | $query = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_messages') . " WHERE msg_id = '" . $smallworld_msg_id . "'"; |
|
466 | $result = $xoopsDB->queryF($query); |
|
467 | $query2 = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_comments') . " WHERE msg_id_fk = '" . $smallworld_msg_id . "'"; |
|
468 | $result2 = $xoopsDB->queryF($query2); |
|
469 | //delete votes |
|
470 | $query3 = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_vote') . " WHERE msg_id = '" . $smallworld_msg_id . "'"; |
|
471 | $result3 = $xoopsDB->queryF($query3); |
|
472 | return true; |
|
473 | } |
|
474 | ||
475 | /** |
|
476 | * deleteWallComment function |
|
477 | * - Delete Comments |
|
478 | * @param int $smallworld_com_id |
|
479 | * @return true |
|
480 | */ |
|
481 | public function deleteWallComment($smallworld_com_id) |
|
482 | { |
|
483 | global $xoopsDB; |
|
484 | $query = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_comments') . " WHERE com_id = '" . $smallworld_com_id . "'"; |
|
485 | $result = $xoopsDB->queryF($query); |
|
486 | $query2 = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_vote') . " WHERE com_id = '" . $smallworld_com_id . "'"; |
|
487 | $result2 = $xoopsDB->queryF($query2); |
|
488 | return true; |
|
489 | } |
|
490 | ||
491 | /** |
|
492 | * CountUsersRates function |
|
493 | * - Delete Comments |
|
494 | * @param int $userid |
|
495 | * @param string $val |
|
496 | * @return int |
|
497 | */ |
|
498 | public function CountUsersRates($userid, $val) |
|
499 | { |
|
500 | global $xoopsUser, $xoopsDB; |
|
501 | $query = 'Select SUM(' . $val . ') as sum from ' . $xoopsDB->prefix('smallworld_vote') . " where owner = '" . $userid . "'"; |
|
502 | $result = $xoopsDB->queryF($query); |
|
503 | while ($row = $xoopsDB->fetchArray($result)) { |
|
504 | $sum = $row['sum']; |
|
505 | } |
|
506 | if ('' == $sum) { |
|
507 | $sum = '0'; |
|
508 | } |
|
509 | return $sum; |
|
510 | } |
|
511 | ||
512 | /** |
|
513 | * deleteAccount function |
|
514 | * - Delete user account and associate rows across tables |
|
515 | * @param int $userid |
|
516 | * @return string |
|
517 | */ |
|
518 | public function deleteAccount($userid) |
|
519 | { |
|
520 | global $xoopsDB, $xoopsUser; |
|
521 | $user = new XoopsUser($userid); |
|
522 | $username = $user->uname(); |
|
523 | $sql01 = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_admin') . " WHERE userid = '" . $userid . "'"; |
|
524 | $sql02 = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_comments') . " WHERE uid_fk = '" . $userid . "'"; |
|
525 | $sql03 = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_followers') . " WHERE me = '" . $userid . "' OR you = '" . $userid . "'"; |
|
526 | $sql04 = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_friends') . " WHERE me = '" . $userid . "' OR you = '" . $userid . "'"; |
|
527 | $sql05 = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_images') . " WHERE userid = '" . $userid . "'"; |
|
528 | $sql06 = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_messages') . " WHERE uid_fk = '" . $userid . "'"; |
|
529 | $sql07 = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_user') . " WHERE userid = '" . $userid . "'"; |
|
530 | $sql08 = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_vote') . " WHERE user_id = '" . $userid . "'"; |
|
531 | $sql09 = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_complaints') . " WHERE owner = '" . $userid . "' OR byuser_id = '" . $userid . "'"; |
|
532 | $sql10 = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_settings') . " WHERE userid = '" . $userid . "'"; |
|
533 | ||
534 | $result01 = $xoopsDB->queryF($sql01); |
|
535 | $result02 = $xoopsDB->queryF($sql02); |
|
536 | $result03 = $xoopsDB->queryF($sql03); |
|
537 | $result04 = $xoopsDB->queryF($sql04); |
|
538 | $result05 = $xoopsDB->queryF($sql05); |
|
539 | $result06 = $xoopsDB->queryF($sql06); |
|
540 | $result07 = $xoopsDB->queryF($sql07); |
|
541 | $result08 = $xoopsDB->queryF($sql08); |
|
542 | $result08 = $xoopsDB->queryF($sql09); |
|
543 | $result08 = $xoopsDB->queryF($sql10); |
|
544 | // Remove picture dir |
|
545 | $dirname = XOOPS_ROOT_PATH . '/uploads/albums_smallworld' . '/' . $userid . '/'; |
|
546 | $this->smallworld_remDir($userid, $dirname, $empty = false); |
|
547 | echo $username . _AM_SMALLWORLD_ADMIN_USERDELETEDALERT; |
|
548 | } |
|
549 | ||
550 | /** |
|
551 | * SmallworldDeleteDirectory function |
|
552 | * - Delete images from users on delete |
|
553 | * @param int $userid |
|
554 | * @return true |
|
555 | */ |
|
556 | public function SmallworldDeleteDirectory($userid) |
|
557 | { |
|
558 | $dirname = XOOPS_ROOT_PATH . '/uploads/albums_smallworld' . '/' . $userid . '/'; |
|
559 | if (is_dir($dirname)) { |
|
560 | $dir_handle = opendir($dirname); |
|
561 | } |
|
562 | if (!$dir_handle) { |
|
563 | return false; |
|
564 | } |
|
565 | while ($file = readdir($dir_handle)) { |
|
566 | if ('.' !== $file && '..' !== $file) { |
|
567 | if (!is_dir($dirname . '/' . $file)) { |
|
568 | unlink($dirname . '/' . $file); |
|
569 | } else { |
|
570 | $this->SmallworldDeleteDirectory($dirname . '/' . $file); |
|
571 | } |
|
572 | } |
|
573 | } |
|
574 | closedir($dir_handle); |
|
575 | rmdir($dirname); |
|
576 | return true; |
|
577 | } |
|
578 | ||
579 | /** |
|
580 | * smallworld_remDir function |
|
581 | * - Remove user image dir in uploads. |
|
582 | * @param int $userid |
|
583 | * @param string $directory |
|
584 | * @param bool|int $empty |
|
585 | * @return true |
|
586 | */ |
|
587 | public function smallworld_remDir($userid, $directory, $empty = false) |
|
588 | { |
|
589 | if ('' != $userid) { |
|
590 | if ('/' === substr($directory, -1)) { |
|
591 | $directory = substr($directory, 0, -1); |
|
592 | } |
|
593 | ||
594 | if (!file_exists($directory) || !is_dir($directory)) { |
|
595 | return false; |
|
596 | } elseif (!is_readable($directory)) { |
|
597 | return false; |
|
598 | } else { |
|
599 | $directoryHandle = opendir($directory); |
|
600 | while ($contents = readdir($directoryHandle)) { |
|
601 | if ('.' !== $contents && '..' !== $contents) { |
|
602 | $path = $directory . '/' . $contents; |
|
603 | if (is_dir($path)) { |
|
604 | $this->smallworld_remDir($userid, $path); |
|
605 | } else { |
|
606 | unlink($path); |
|
607 | } |
|
608 | } |
|
609 | } |
|
610 | closedir($directoryHandle); |
|
611 | if (false === $empty) { |
|
612 | if (!rmdir($directory)) { |
|
613 | return false; |
|
614 | } |
|
615 | } |
|
616 | return true; |
|
617 | } |
|
618 | } |
|
619 | } |
|
620 | ||
621 | /** |
|
622 | * Update private settings |
|
623 | * @param int id ($userid) |
|
624 | * @param string posts (serialized values) |
|
625 | * @return void |
|
626 | */ |
|
627 | public function saveSettings($id, $posts) |
|
628 | { |
|
629 | global $xoopsDB; |
|
630 | $sql = 'SELECT value FROM ' . $xoopsDB->prefix('smallworld_settings') . ' WHERE userid = ' . (int)$id . ''; |
|
631 | $result = $xoopsDB->queryF($sql); |
|
632 | $i = $xoopsDB->getRowsNum($result); |
|
633 | if ($i > 0) { |
|
634 | $sql = 'UPDATE ' . $xoopsDB->prefix('smallworld_settings') . " SET value = '" . $posts . "' WHERE userid = " . (int)$id . ''; |
|
635 | } else { |
|
636 | $sql = 'INSERT INTO ' . $xoopsDB->prefix('smallworld_settings') . " (id,userid,value) VALUES ('', '" . $id . "', '" . $posts . "')"; |
|
637 | } |
|
638 | $result = $xoopsDB->queryF($sql); |
|
639 | $this->GetSettings($id); |
|
640 | } |
|
641 | ||
642 | /** |
|
643 | * Retrieve private settings |
|
644 | * @param int userid |
|
645 | * @return serialized|string |
|
646 | */ |
|
647 | public function GetSettings($userid) |
|
648 | { |
|
649 | global $xoopsDB; |
|
650 | $sql = 'SELECT value FROM ' . $xoopsDB->prefix('smallworld_settings') . ' WHERE userid = ' . (int)$userid . ''; |
|
651 | $result = $xoopsDB->queryF($sql); |
|
652 | $i = $xoopsDB->getRowsNum($result); |
|
653 | if ($i < 1) { |
|
654 | $posts = serialize([ |
|
655 | 'posts' => 0, |
|
656 | 'comments' => 0, |
|
657 | 'notify' => 1 |
|
658 | ]); |
|
659 | $this->saveSettings($userid, $posts); |
|
660 | $this->GetSettings($userid); |
|
661 | } else { |
|
662 | while ($row = $xoopsDB->fetchArray($result)) { |
|
663 | $data = $row['value']; |
|
664 | } |
|
665 | return json_encode(unserialize(stripslashes($data))); |
|
666 | } |
|
667 | } |
|
668 | } |
|
669 |
@@ 22-667 (lines=646) @@ | ||
19 | * @since 1.0 |
|
20 | * @author Michael Albertsen (http://culex.dk) <[email protected]> |
|
21 | */ |
|
22 | class SmallWorldDB |
|
23 | { |
|
24 | /** |
|
25 | * getJobsToDiv function |
|
26 | * @param int $id |
|
27 | * @return array |
|
28 | */ |
|
29 | public function getJobsToDiv($id) |
|
30 | { |
|
31 | global $xoopsUser, $xoopsDB; |
|
32 | $msg = []; |
|
33 | $new = []; |
|
34 | $sql = 'SELECT employer,position,jobstart,jobstop,description FROM ' . $xoopsDB->prefix('smallworld_user') . " WHERE userid ='" . $id . "'"; |
|
35 | $result = $xoopsDB->query($sql); |
|
36 | while ($row = $xoopsDB->fetchArray($result)) { |
|
37 | $employer = unserialize($row['employer']); |
|
38 | $position = unserialize($row['position']); |
|
39 | $jobstart = unserialize($row['jobstart']); |
|
40 | $jobstop = unserialize($row['jobstop']); |
|
41 | $description = unserialize($row['description']); |
|
42 | } |
|
43 | $start = 0; |
|
44 | $end = count($employer) - 1; |
|
45 | while ($start <= $end) { |
|
46 | $msg[$start]['employer'] = $employer[$start]; |
|
47 | $msg[$start]['position'] = $position[$start]; |
|
48 | $msg[$start]['jobstart'] = $jobstart[$start]; |
|
49 | $msg[$start]['jobstop'] = $jobstop[$start]; |
|
50 | $msg[$start]['description'] = $description[$start]; |
|
51 | ++$start; |
|
52 | } |
|
53 | return $msg; |
|
54 | } |
|
55 | ||
56 | /** |
|
57 | * getSchoolToDiv function |
|
58 | * @param int $id |
|
59 | * @return array |
|
60 | */ |
|
61 | public function getSchoolToDiv($id) |
|
62 | { |
|
63 | global $xoopsUser, $xoopsDB, $arr7; |
|
64 | $msg = []; |
|
65 | $sql = 'SELECT school_type,school,schoolstart,schoolstop FROM ' . $xoopsDB->prefix('smallworld_user') . " WHERE userid ='" . $id . "'"; |
|
66 | $result = $xoopsDB->query($sql); |
|
67 | while ($row = $xoopsDB->fetchArray($result)) { |
|
68 | $school_type = unserialize($row['school_type']); |
|
69 | $school = unserialize($row['school']); |
|
70 | $schoolstart = unserialize($row['schoolstart']); |
|
71 | $schoolstop = unserialize($row['schoolstop']); |
|
72 | } |
|
73 | $start = 0; |
|
74 | $end = count($school_type) - 1; |
|
75 | while ($start <= $end) { |
|
76 | $msg[$start]['school_type'] = $school_type[$start]; |
|
77 | $msg[$start]['school'] = $arr7[$school[$start]]; |
|
78 | $msg[$start]['schoolstart'] = $schoolstart[$start]; |
|
79 | $msg[$start]['schoolstop'] = $schoolstop[$start]; |
|
80 | $start++; |
|
81 | } |
|
82 | return $msg; |
|
83 | } |
|
84 | ||
85 | /** |
|
86 | * getScreennamesToDiv function |
|
87 | * @param int $id |
|
88 | * @return array |
|
89 | */ |
|
90 | public function getScreennamesToDiv($id) |
|
91 | { |
|
92 | global $xoopsUser, $xoopsDB, $arr06; |
|
93 | $msg = []; |
|
94 | $sql = 'SELECT screenname_type,screenname FROM ' . $xoopsDB->prefix('smallworld_user') . " WHERE userid ='" . $id . "'"; |
|
95 | $result = $xoopsDB->query($sql); |
|
96 | while ($row = $xoopsDB->fetchArray($result)) { |
|
97 | $screenname_type = unserialize($row['screenname_type']); |
|
98 | $screenname = unserialize($row['screenname']); |
|
99 | } |
|
100 | $start = 0; |
|
101 | $end = count($screenname_type) - 1; |
|
102 | while ($start <= $end) { |
|
103 | $msg[$start]['screenname'] = $screenname_type[$start]; |
|
104 | $msg[$start]['screenname_type'] = $arr06[$screenname[$start]]; |
|
105 | $msg[$start]['link'] = "<span class='smallworld_website'>" . Smallworld_sociallinks($screenname[$start], $msg[$start]['screenname']); |
|
106 | ++$start; |
|
107 | } |
|
108 | return $msg; |
|
109 | } |
|
110 | ||
111 | /** |
|
112 | * getVar function |
|
113 | * @param int $id |
|
114 | * @param string $var |
|
115 | * @return array|int |
|
116 | */ |
|
117 | public function getVar($id, $var) |
|
118 | { |
|
119 | global $xoopsUser, $xoopsDB; |
|
120 | $sql = 'SELECT ' . $var . ' FROM ' . $xoopsDB->prefix('smallworld_user') . " WHERE userid = '" . $id . "'"; |
|
121 | $result = $xoopsDB->queryF($sql); |
|
122 | if ($xoopsDB->getRowsNum($result) < 1) { |
|
123 | return 0;//_SMALLWORLD_REPLY_NOTSPECIFIED; |
|
124 | } |
|
125 | while ($row = $xoopsDB->fetchArray($result)) { |
|
126 | $msg[$var] = $row[$var]; |
|
127 | } |
|
128 | return $msg[$var]; |
|
129 | } |
|
130 | ||
131 | /** |
|
132 | * updateSingleValue function |
|
133 | * @param string $table |
|
134 | * @param int $userid |
|
135 | * @param string $field |
|
136 | * @param int $value |
|
137 | * @return void |
|
138 | */ |
|
139 | public function updateSingleValue($table, $userid, $field, $value) |
|
140 | { |
|
141 | global $xoopsUser, $xoopsDB; |
|
142 | $myts = \MyTextSanitizer::getInstance(); |
|
143 | $sql = 'UPDATE ' . $xoopsDB->prefix($table) . ' SET ' . $field . "='" . $myts->addSlashes($value) . "' WHERE userid='" . (int)$userid . "'"; |
|
144 | $result = $xoopsDB->queryF($sql); |
|
145 | } |
|
146 | ||
147 | /** |
|
148 | * saveImage function |
|
149 | * @param $values |
|
150 | * @return void |
|
151 | */ |
|
152 | public function saveImage($values) |
|
153 | { |
|
154 | global $xoopsUser, $xoopsDB; |
|
155 | $myts = \MyTextSanitizer::getInstance(); |
|
156 | $sql = 'INSERT INTO ' . $xoopsDB->prefix('smallworld_images') . ' VALUES (' . $values . ')'; |
|
157 | $result = $xoopsDB->queryF($sql); |
|
158 | } |
|
159 | ||
160 | /** |
|
161 | * DeleteImage function |
|
162 | * @param int $userid |
|
163 | * @param string $imagename |
|
164 | * @return void |
|
165 | */ |
|
166 | public function DeleteImage($userid, $imagename) |
|
167 | { |
|
168 | global $xoopsUser, $xoopsDB; |
|
169 | $myts = \MyTextSanitizer::getInstance(); |
|
170 | $sql = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_images') . " WHERE imgname = '" . stripslashes($imagename) . "' AND userid='" . $userid . "'"; |
|
171 | $result = $xoopsDB->queryF($sql); |
|
172 | } |
|
173 | ||
174 | /** |
|
175 | * handlePosts function |
|
176 | * @return void |
|
177 | */ |
|
178 | public function handlePosts() |
|
179 | { |
|
180 | global $xoopsUser, $xoopsDB; |
|
181 | $myts = \MyTextSanitizer::getInstance(); |
|
182 | $uid = $xoopsUser->getVar('uid'); |
|
183 | $user = new \XoopsUser($uid); |
|
184 | $img = new SmallWorldImages; |
|
185 | if ('' == $this->getVar($uid, 'userimage')) { |
|
186 | $avatar = $user->user_avatar(); |
|
187 | } else { |
|
188 | $avatar = $this->getVar($uid, 'userimage'); |
|
189 | } |
|
190 | ||
191 | if ('2' != $_POST['relationship']) { |
|
192 | $partner = Smallworld_sanitize($_POST['partner']); |
|
193 | } else { |
|
194 | $partner = ''; |
|
195 | } |
|
196 | ||
197 | $regdate = time(); |
|
198 | $username = $user->uname(); |
|
199 | $realname = Smallworld_sanitize($_POST['realname']); |
|
200 | $gender = isset($_POST['gender']) ? $_POST['gender'] : ''; |
|
201 | $intingender = isset($_POST['intingender']) ? Smallworld_sanitize(serialize($_POST['intingender'])) : Smallworld_sanitize(serialize([0 => '3'])); |
|
202 | $relationship = Smallworld_sanitize($_POST['relationship']); |
|
203 | $searchrelat = isset($_POST['searchrelat']) ? Smallworld_sanitize(serialize($_POST['searchrelat'])) : Smallworld_sanitize(serialize([0 => '0'])); |
|
204 | $birthday = Smallworld_sanitize(Smallworld_euroToUsDate($_POST['birthday'])); |
|
205 | $birthplace = Smallworld_sanitize($_POST['birthplace']); |
|
206 | $birthplace_lat = Smallworld_sanitize($_POST['birthplace_lat']); |
|
207 | $birthplace_lng = Smallworld_sanitize($_POST['birthplace_lng']); |
|
208 | $birthplace_country = Smallworld_sanitize($_POST['birthplace_country']); |
|
209 | $birthplace_country_img = isset($_POST['birthplace_country_img']) ? Smallworld_sanitize($_POST['birthplace_country_img']) : ''; |
|
210 | $politic = Smallworld_sanitize($_POST['politic']); |
|
211 | $religion = Smallworld_sanitize($_POST['religion']); |
|
212 | $emailtype = Smallworld_sanitize(serialize($_POST['emailtype'])); |
|
213 | $screenname_type = Smallworld_sanitize(serialize($_POST['screenname_type'])); |
|
214 | $screenname = Smallworld_sanitize(serialize($_POST['screenname'])); |
|
215 | $mobile = Smallworld_sanitize($_POST['mobile']); |
|
216 | $phone = Smallworld_sanitize($_POST['phone']); |
|
217 | $adress = Smallworld_sanitize($_POST['adress']); |
|
218 | $present_city = Smallworld_sanitize($_POST['present_city']); |
|
219 | $present_lat = Smallworld_sanitize($_POST['present_lat']); |
|
220 | $present_lng = Smallworld_sanitize($_POST['present_lng']); |
|
221 | $present_country = Smallworld_sanitize($_POST['present_country']); |
|
222 | $present_country_img = isset($_POST['present_country_img']) ? Smallworld_sanitize($_POST['present_country_img']) : ''; |
|
223 | $website = Smallworld_sanitize($_POST['website']); |
|
224 | $interests = Smallworld_sanitize($_POST['interests']); |
|
225 | $music = Smallworld_sanitize($_POST['music']); |
|
226 | $tvshow = Smallworld_sanitize($_POST['tvshow']); |
|
227 | $movie = Smallworld_sanitize($_POST['movie']); |
|
228 | $books = Smallworld_sanitize($_POST['books']); |
|
229 | $aboutme = Smallworld_sanitize($_POST['aboutme']); |
|
230 | $school_type = Smallworld_sanitize(serialize($_POST['school_type'])); |
|
231 | $school = Smallworld_sanitize(serialize($_POST['school'])); |
|
232 | $schoolstart = Smallworld_sanitize(serialize($_POST['schoolstart'])); |
|
233 | $schoolstop = Smallworld_sanitize(serialize($_POST['schoolstop'])); |
|
234 | $jobemployer = Smallworld_sanitize(serialize($_POST['employer'])); |
|
235 | $jobposition = Smallworld_sanitize(serialize($_POST['position'])); |
|
236 | $jobstart = Smallworld_sanitize(serialize(Smallworld_YearOfArray($_POST['jobstart']))); |
|
237 | $jobstop = Smallworld_sanitize(serialize(Smallworld_YearOfArray($_POST['jobstop']))); |
|
238 | $jobdescription = Smallworld_sanitize(serialize($_POST['description'])); |
|
239 | ||
240 | $sql = ''; |
|
241 | ||
242 | if ('edit' === $_POST['function']) { |
|
243 | // Update all values in user_table |
|
244 | $sql = 'UPDATE ' . $xoopsDB->prefix('smallworld_user') . ' SET '; |
|
245 | $sql .= "realname = '" . $realname . "', username= '" . $username . "', userimage = '" . $avatar . "', gender = '" . $gender . "',"; |
|
246 | $sql .= "intingender = '" . $intingender . "',relationship = '" . $relationship . "', partner = '" . $partner . "', searchrelat = '" . $searchrelat . "',"; |
|
247 | $sql .= "birthday = '" . $birthday . "',birthplace = '" . $birthplace . "',birthplace_lat = '" . (float)$birthplace_lat . "',"; |
|
248 | $sql .= "birthplace_lng = '" . (float)$birthplace_lng . "',birthplace_country = '" . $birthplace_country . "',politic = '" . $politic . "',"; |
|
249 | $sql .= "religion = '" . $religion . "',emailtype = '" . $emailtype . "',screenname_type = '" . $screenname_type . "',"; |
|
250 | $sql .= "screenname = '" . $screenname . "',mobile = '" . (float)$mobile . "',phone = '" . (float)$phone . "',adress = '" . $adress . "',"; |
|
251 | $sql .= "present_city = '" . $present_city . "',present_lat = '" . (float)$present_lat . "',present_lng = '" . (float)$present_lng . "',"; |
|
252 | $sql .= "present_country = '" . $present_country . "',website = '" . $website . "',interests = '" . $interests . "',"; |
|
253 | $sql .= "music = '" . $music . "',tvshow = '" . $tvshow . "',movie = '" . $movie . "',"; |
|
254 | $sql .= "books = '" . $books . "',aboutme = '" . $aboutme . "',school_type = '" . $school_type . "',"; |
|
255 | $sql .= "school = '" . $school . "', schoolstart = '" . $schoolstart . "',schoolstop = '" . $schoolstop . "',"; |
|
256 | $sql .= "employer = '" . $jobemployer . "', position = '" . $jobposition . "',jobstart = '" . $jobstart . "',"; |
|
257 | $sql .= "jobstop = '" . $jobstop . "', description = '" . $jobdescription . "' "; |
|
258 | $sql .= "WHERE userid ='" . (int)$uid . "'"; |
|
259 | $result = $xoopsDB->queryF($sql); |
|
260 | if (false === $result) { |
|
261 | die('SQL error:' . $sql . ''); |
|
262 | } |
|
263 | ||
264 | $this->EditAdmins($uid, $realname, $avatar); |
|
265 | $img->createAlbum($uid); |
|
266 | } |
|
267 | ||
268 | if ('save' === $_POST['function']) { |
|
269 | $sql = 'INSERT INTO ' |
|
270 | . $xoopsDB->prefix('smallworld_user') |
|
271 | . ' (userid, regdate, username, userimage, realname, gender, intingender, relationship, partner, searchrelat, birthday, birthplace, birthplace_lat, birthplace_lng, birthplace_country, politic, religion, emailtype, screenname_type, screenname, mobile, phone, adress, present_city, present_lat, present_lng, present_country, website, interests, music, tvshow, movie, books, aboutme, school_type, school, schoolstart, schoolstop, employer, position, jobstart, jobstop, description, friends, followers, admin_flag) '; |
|
272 | $sql .= "VALUES ('" . (int)$uid . "', '" . $regdate . "', '" . $username . "', '" . $avatar . "', '" . $realname . "', '" . $gender . "', '" . $intingender . "', '" . $relationship . "', '" . $partner . "', '" . $searchrelat . "','"; |
|
273 | $sql .= $birthday . "', '" . $birthplace . "', '" . (float)$birthplace_lat . "', '" . (float)$birthplace_lng . "', '" . $birthplace_country . "', '" . $politic . "', '" . $religion . "','"; |
|
274 | $sql .= $emailtype . "', '" . $screenname_type . "', '" . $screenname . "', '" . (float)$mobile . "', '" . (float)$phone . "', '" . $adress . "', '" . $present_city . "', '" . (float)$present_lat . "','"; |
|
275 | $sql .= (float)$present_lng . "', '" . $present_country . "', '" . $website . "', '" . $interests . "', '" . $music . "', '" . $tvshow . "', '" . $movie . "', '" . $books . "', '" . $aboutme . "', '"; |
|
276 | $sql .= $school_type . "', '" . $school . "', '" . $schoolstart . "', '" . $schoolstop . "', '" . $jobemployer . "', '" . $jobposition . "', '" . $jobstart . "', '" . $jobstop . "', '" . $jobdescription . "', "; |
|
277 | $sql .= "'0', '0', '0')"; |
|
278 | $result = $xoopsDB->queryF($sql); |
|
279 | if (false === $result) { |
|
280 | die('SQL error:' . $sql . ''); |
|
281 | } |
|
282 | $this->SetAdmins($uid, $username, $realname, $avatar); |
|
283 | $img->createAlbum($uid); |
|
284 | } |
|
285 | } |
|
286 | ||
287 | /** |
|
288 | * SetAdmins function |
|
289 | * @param int $userID |
|
290 | * @param string $username |
|
291 | * @param string $realname |
|
292 | * @param mixed $avatar |
|
293 | * @return void |
|
294 | */ |
|
295 | public function SetAdmins($userID, $username, $realname, $avatar) |
|
296 | { |
|
297 | global $xoopsDB, $xoopsUser; |
|
298 | $ip = $_SERVER['REMOTE_ADDR']; |
|
299 | $sql = 'INSERT INTO ' . $xoopsDB->prefix('smallworld_admin') . ' (userid,username, realname,userimage,ip,complaint,inspect_start, ' . "inspect_stop) VALUES ('" . $userID . "', '" . $username . "','" . $realname . "', '" . $avatar . "','" . $ip . "','0','0','0')"; |
|
300 | $result = $xoopsDB->queryF($sql); |
|
301 | } |
|
302 | ||
303 | /** |
|
304 | * EditAdmins function |
|
305 | * @param int $userID |
|
306 | * @param string $realname |
|
307 | * @param mixed $avatar |
|
308 | * @return void |
|
309 | */ |
|
310 | public function EditAdmins($userID, $realname, $avatar) |
|
311 | { |
|
312 | global $xoopsDB; |
|
313 | $sql = 'UPDATE ' . $xoopsDB->prefix('smallworld_admin') . " SET realname = '" . $realname . "', userimage = '" . $avatar . "' WHERE userid = '" . (int)$userID . "'"; |
|
314 | $result = $xoopsDB->queryF($sql); |
|
315 | } |
|
316 | ||
317 | /** |
|
318 | * alreadycomplaint function |
|
319 | * - Check if user has already sent complaint |
|
320 | * @param string $msg |
|
321 | * @param int $by |
|
322 | * @param int $against |
|
323 | * @return int |
|
324 | */ |
|
325 | public function alreadycomplaint($msg, $by, $against) |
|
326 | { |
|
327 | global $xoopsDB; |
|
328 | $sql = 'SELECT * FROM ' . $xoopsDB->prefix('smallworld_complaints') . " WHERE byuser_id = '" . (int)$by . "' AND owner = '" . (int)$against . "' AND link = '" . addslashes($msg) . "'"; |
|
329 | $result = $xoopsDB->queryF($sql); |
|
330 | $i = $xoopsDB->getRowsNum($result); |
|
331 | if ($i < 1) { |
|
332 | $query = 'INSERT INTO ' . $xoopsDB->prefix('smallworld_complaints') . " (complaint_id,link,byuser_id,owner) VALUES ('', '" . addslashes($msg) . "', '" . (int)$by . "', '" . (int)$against . "')"; |
|
333 | $result = $xoopsDB->queryF($query); |
|
334 | } else { |
|
335 | } |
|
336 | return $i; |
|
337 | } |
|
338 | ||
339 | /** |
|
340 | * updateComplaint function |
|
341 | * @param int $userID |
|
342 | * @return void |
|
343 | */ |
|
344 | public function updateComplaint($userID) |
|
345 | { |
|
346 | global $xoopsDB; |
|
347 | $sql = 'UPDATE ' . $xoopsDB->prefix('smallworld_admin') . ' SET complaint = complaint + 1 ' . "WHERE userid = '" . (int)$userID . "'"; |
|
348 | $result = $xoopsDB->queryF($sql); |
|
349 | } |
|
350 | ||
351 | /** |
|
352 | * updateInspection function |
|
353 | * @param int $userID |
|
354 | * @param int $start |
|
355 | * @param int stop |
|
356 | * @return void |
|
357 | */ |
|
358 | public function updateInspection($userID, $start, $stop) |
|
359 | { |
|
360 | global $xoopsDB; |
|
361 | $newstop = $time() + $stop; |
|
362 | $sql = 'UPDATE ' . $xoopsDB->prefix('smallworld_admin') . " SET inspect_start = '" . $time() . "', instect_stop = '" . $newstop . "' WHERE userid ='" . (int)$userID . "'"; |
|
363 | $result = $xoopsDB->queryF($sql); |
|
364 | } |
|
365 | ||
366 | /** |
|
367 | * handleImageEdit function |
|
368 | * @return void |
|
369 | */ |
|
370 | public function handleImageEdit() |
|
371 | { |
|
372 | global $xoopsDB; |
|
373 | for ($i = 0, $iMax = count($_POST['id']); $i < $iMax; ++$i) { |
|
374 | $id = (int)$_POST['id'][$i]; |
|
375 | $desc = $_POST['imgdesc'][$i]; |
|
376 | $sql = 'UPDATE ' . $xoopsDB->prefix('smallworld_images') . " SET `desc` = '" . addslashes($desc) . "' WHERE `id`='" . $id . "'"; |
|
377 | $result = $xoopsDB->queryF($sql); |
|
378 | } |
|
379 | } |
|
380 | ||
381 | /** |
|
382 | * updateInspection function |
|
383 | * - insert aplication for friendship into db or delete if denied |
|
384 | * @param int $status |
|
385 | * @param int $friendid |
|
386 | * @param int $userid |
|
387 | * @return void |
|
388 | */ |
|
389 | public function toogleFriendInvite($status, $friendid, $userid) |
|
390 | { |
|
391 | global $xoopsDB; |
|
392 | if (0 == $status) { |
|
393 | $sql = 'INSERT INTO ' . $xoopsDB->prefix('smallworld_friends') . " (me,you,status,date) VALUES ('" . $userid . "', '" . $friendid . "', '1', UNIX_TIMESTAMP())"; |
|
394 | $result = $xoopsDB->queryF($sql); |
|
395 | } |
|
396 | if ($status > 0) { |
|
397 | $sql = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_friends') . " WHERE me = '" . (int)$friendid . "' AND you = '" . (int)$userid . "'"; |
|
398 | $sql2 = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_friends') . " WHERE me = '" . (int)$userid . "' AND you = '" . (int)$friendid . "'"; |
|
399 | $result = $xoopsDB->queryF($sql); |
|
400 | $result2 = $xoopsDB->queryF($sql2); |
|
401 | ||
402 | // Since friendship is canceled also following is deleted |
|
403 | $this->toogleFollow(1, $userid, $friendid); |
|
404 | } |
|
405 | } |
|
406 | ||
407 | /** |
|
408 | * toogleFollow function |
|
409 | * - Insert following to db or delete if requested |
|
410 | * @param int $following |
|
411 | * @param int $myUid |
|
412 | * @param int $friend |
|
413 | * @return void |
|
414 | */ |
|
415 | public function toogleFollow($following, $myUid, $friend) |
|
416 | { |
|
417 | global $xoopsDB; |
|
418 | if (0 == $following) { |
|
419 | $sql = 'INSERT INTO ' . $xoopsDB->prefix('smallworld_followers') . " (me,you,status,date) VALUES ('" . $myUid . "', '" . $friend . "', '1', UNIX_TIMESTAMP())"; |
|
420 | $result = $xoopsDB->queryF($sql); |
|
421 | } |
|
422 | if ($following > 0) { |
|
423 | $sql = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_followers') . " WHERE you = '" . (int)$friend . "'"; |
|
424 | $sql .= " AND me = '" . (int)$myUid . "'"; |
|
425 | $sql2 = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_followers') . " WHERE me = '" . (int)$friend . "'"; |
|
426 | $sql2 .= " AND you = '" . (int)$myUid . "'"; |
|
427 | $result2 = $xoopsDB->queryF($sql2); |
|
428 | } |
|
429 | } |
|
430 | ||
431 | /** |
|
432 | * SetFriendshitStat function |
|
433 | * @param int $stat |
|
434 | * @param int $myUid |
|
435 | * @param int $friend |
|
436 | * @return void |
|
437 | */ |
|
438 | public function SetFriendshitStat($stat, $myUid, $friend) |
|
439 | { |
|
440 | global $xoopsDB; |
|
441 | if (1 == $stat) { |
|
442 | $sql = 'UPDATE ' . $xoopsDB->prefix('smallworld_friends') . " SET status = '2' WHERE `me` = '" . $friend . "' AND `you` = '" . $myUid . "'"; |
|
443 | $result = $xoopsDB->queryF($sql); |
|
444 | $query = 'INSERT INTO ' . $xoopsDB->prefix('smallworld_friends') . " (me,you,status,date) VALUES ('" . $myUid . "', '" . $friend . "', '2', UNIX_TIMESTAMP())"; |
|
445 | $result = $xoopsDB->queryF($query); |
|
446 | } |
|
447 | if ($stat < 0) { |
|
448 | $sql = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_friends') . " WHERE me = '" . (int)$friend . "' AND you = '" . (int)$myUid . "'"; |
|
449 | $sql2 = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_friends') . " WHERE you = '" . (int)$friend . "' AND me = '" . (int)$myUid . "'"; |
|
450 | $result = $xoopsDB->queryF($sql); |
|
451 | $result2 = $xoopsDB->queryF($sql2); |
|
452 | } |
|
453 | } |
|
454 | ||
455 | /** |
|
456 | * deleteWallMsg function |
|
457 | * @param int $id |
|
458 | * @param int $smallworld_msg_id |
|
459 | * @return true |
|
460 | */ |
|
461 | public function deleteWallMsg($id, $smallworld_msg_id) |
|
462 | { |
|
463 | global $xoopsDB; |
|
464 | $query = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_messages') . " WHERE msg_id = '" . $smallworld_msg_id . "'"; |
|
465 | $result = $xoopsDB->queryF($query); |
|
466 | $query2 = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_comments') . " WHERE msg_id_fk = '" . $smallworld_msg_id . "'"; |
|
467 | $result2 = $xoopsDB->queryF($query2); |
|
468 | //delete votes |
|
469 | $query3 = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_vote') . " WHERE msg_id = '" . $smallworld_msg_id . "'"; |
|
470 | $result3 = $xoopsDB->queryF($query3); |
|
471 | return true; |
|
472 | } |
|
473 | ||
474 | /** |
|
475 | * deleteWallComment function |
|
476 | * - Delete Comments |
|
477 | * @param int $smallworld_com_id |
|
478 | * @return true |
|
479 | */ |
|
480 | public function deleteWallComment($smallworld_com_id) |
|
481 | { |
|
482 | global $xoopsDB; |
|
483 | $query = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_comments') . " WHERE com_id = '" . $smallworld_com_id . "'"; |
|
484 | $result = $xoopsDB->queryF($query); |
|
485 | $query2 = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_vote') . " WHERE com_id = '" . $smallworld_com_id . "'"; |
|
486 | $result2 = $xoopsDB->queryF($query2); |
|
487 | return true; |
|
488 | } |
|
489 | ||
490 | /** |
|
491 | * CountUsersRates function |
|
492 | * - Delete Comments |
|
493 | * @param int $userid |
|
494 | * @param string $val |
|
495 | * @return int |
|
496 | */ |
|
497 | public function CountUsersRates($userid, $val) |
|
498 | { |
|
499 | global $xoopsUser, $xoopsDB; |
|
500 | $query = 'Select SUM(' . $val . ') as sum from ' . $xoopsDB->prefix('smallworld_vote') . " where owner = '" . $userid . "'"; |
|
501 | $result = $xoopsDB->queryF($query); |
|
502 | while ($row = $xoopsDB->fetchArray($result)) { |
|
503 | $sum = $row['sum']; |
|
504 | } |
|
505 | if ('' == $sum) { |
|
506 | $sum = '0'; |
|
507 | } |
|
508 | return $sum; |
|
509 | } |
|
510 | ||
511 | /** |
|
512 | * deleteAccount function |
|
513 | * - Delete user account and associate rows across tables |
|
514 | * @param int $userid |
|
515 | * @return string |
|
516 | */ |
|
517 | public function deleteAccount($userid) |
|
518 | { |
|
519 | global $xoopsDB, $xoopsUser; |
|
520 | $user = new \XoopsUser($userid); |
|
521 | $username = $user->uname(); |
|
522 | $sql01 = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_admin') . " WHERE userid = '" . $userid . "'"; |
|
523 | $sql02 = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_comments') . " WHERE uid_fk = '" . $userid . "'"; |
|
524 | $sql03 = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_followers') . " WHERE me = '" . $userid . "' OR you = '" . $userid . "'"; |
|
525 | $sql04 = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_friends') . " WHERE me = '" . $userid . "' OR you = '" . $userid . "'"; |
|
526 | $sql05 = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_images') . " WHERE userid = '" . $userid . "'"; |
|
527 | $sql06 = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_messages') . " WHERE uid_fk = '" . $userid . "'"; |
|
528 | $sql07 = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_user') . " WHERE userid = '" . $userid . "'"; |
|
529 | $sql08 = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_vote') . " WHERE user_id = '" . $userid . "'"; |
|
530 | $sql09 = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_complaints') . " WHERE owner = '" . $userid . "' OR byuser_id = '" . $userid . "'"; |
|
531 | $sql10 = 'DELETE FROM ' . $xoopsDB->prefix('smallworld_settings') . " WHERE userid = '" . $userid . "'"; |
|
532 | ||
533 | $result01 = $xoopsDB->queryF($sql01); |
|
534 | $result02 = $xoopsDB->queryF($sql02); |
|
535 | $result03 = $xoopsDB->queryF($sql03); |
|
536 | $result04 = $xoopsDB->queryF($sql04); |
|
537 | $result05 = $xoopsDB->queryF($sql05); |
|
538 | $result06 = $xoopsDB->queryF($sql06); |
|
539 | $result07 = $xoopsDB->queryF($sql07); |
|
540 | $result08 = $xoopsDB->queryF($sql08); |
|
541 | $result09 = $xoopsDB->queryF($sql09); |
|
542 | $result10 = $xoopsDB->queryF($sql10); |
|
543 | // Remove picture dir |
|
544 | $dirname = XOOPS_ROOT_PATH . '/uploads/albums_smallworld' . '/' . $userid . '/'; |
|
545 | $this->smallworld_remDir($userid, $dirname, $empty = false); |
|
546 | echo $username . _AM_SMALLWORLD_ADMIN_USERDELETEDALERT; |
|
547 | } |
|
548 | ||
549 | /** |
|
550 | * SmallworldDeleteDirectory function |
|
551 | * - Delete images from users on delete |
|
552 | * @param int $userid |
|
553 | * @return true |
|
554 | */ |
|
555 | public function SmallworldDeleteDirectory($userid) |
|
556 | { |
|
557 | $dirname = XOOPS_ROOT_PATH . '/uploads/albums_smallworld' . '/' . $userid . '/'; |
|
558 | if (is_dir($dirname)) { |
|
559 | $dir_handle = opendir($dirname); |
|
560 | } |
|
561 | if (!$dir_handle) { |
|
562 | return false; |
|
563 | } |
|
564 | while ($file = readdir($dir_handle)) { |
|
565 | if ('.' !== $file && '..' !== $file) { |
|
566 | if (!is_dir($dirname . '/' . $file)) { |
|
567 | unlink($dirname . '/' . $file); |
|
568 | } else { |
|
569 | $this->SmallworldDeleteDirectory($dirname . '/' . $file); |
|
570 | } |
|
571 | } |
|
572 | } |
|
573 | closedir($dir_handle); |
|
574 | rmdir($dirname); |
|
575 | return true; |
|
576 | } |
|
577 | ||
578 | /** |
|
579 | * smallworld_remDir function |
|
580 | * - Remove user image dir in uploads. |
|
581 | * @param int $userid |
|
582 | * @param string|bool $directory |
|
583 | * @param bool|int $empty |
|
584 | * @return true |
|
585 | */ |
|
586 | public function smallworld_remDir($userid, $directory, $empty = false) |
|
587 | { |
|
588 | if ('' != $userid) { |
|
589 | if ('/' === substr($directory, -1)) { |
|
590 | $directory = substr($directory, 0, -1); |
|
591 | } |
|
592 | ||
593 | if (!file_exists($directory) || !is_dir($directory)) { |
|
594 | return false; |
|
595 | } elseif (!is_readable($directory)) { |
|
596 | return false; |
|
597 | } else { |
|
598 | $directoryHandle = opendir($directory); |
|
599 | while ($contents = readdir($directoryHandle)) { |
|
600 | if ('.' !== $contents && '..' !== $contents) { |
|
601 | $path = $directory . '/' . $contents; |
|
602 | if (is_dir($path)) { |
|
603 | $this->smallworld_remDir($userid, $path); |
|
604 | } else { |
|
605 | unlink($path); |
|
606 | } |
|
607 | } |
|
608 | } |
|
609 | closedir($directoryHandle); |
|
610 | if (false === $empty) { |
|
611 | if (!rmdir($directory)) { |
|
612 | return false; |
|
613 | } |
|
614 | } |
|
615 | return true; |
|
616 | } |
|
617 | } |
|
618 | } |
|
619 | ||
620 | /** |
|
621 | * Update private settings |
|
622 | * @param int id ($userid) |
|
623 | * @param string posts (serialized values) |
|
624 | * @return void |
|
625 | */ |
|
626 | public function saveSettings($id, $posts) |
|
627 | { |
|
628 | global $xoopsDB; |
|
629 | $sql = 'SELECT value FROM ' . $xoopsDB->prefix('smallworld_settings') . ' WHERE userid = ' . (int)$id . ''; |
|
630 | $result = $xoopsDB->queryF($sql); |
|
631 | $i = $xoopsDB->getRowsNum($result); |
|
632 | if ($i > 0) { |
|
633 | $sql = 'UPDATE ' . $xoopsDB->prefix('smallworld_settings') . " SET value = '" . $posts . "' WHERE userid = " . (int)$id . ''; |
|
634 | } else { |
|
635 | $sql = 'INSERT INTO ' . $xoopsDB->prefix('smallworld_settings') . " (userid,value) VALUES ('" . $id . "', '" . $posts . "')"; |
|
636 | } |
|
637 | $result = $xoopsDB->queryF($sql); |
|
638 | $this->GetSettings($id); |
|
639 | } |
|
640 | ||
641 | /** |
|
642 | * Retrieve private settings |
|
643 | * @param int userid |
|
644 | * @return serialized|string |
|
645 | */ |
|
646 | public function GetSettings($userid) |
|
647 | { |
|
648 | global $xoopsDB; |
|
649 | $sql = 'SELECT value FROM ' . $xoopsDB->prefix('smallworld_settings') . ' WHERE userid = ' . (int)$userid . ''; |
|
650 | $result = $xoopsDB->queryF($sql); |
|
651 | $i = $xoopsDB->getRowsNum($result); |
|
652 | if ($i < 1) { |
|
653 | $posts = serialize([ |
|
654 | 'posts' => 0, |
|
655 | 'comments' => 0, |
|
656 | 'notify' => 1 |
|
657 | ]); |
|
658 | $this->saveSettings($userid, $posts); |
|
659 | $this->GetSettings($userid); |
|
660 | } else { |
|
661 | while ($row = $xoopsDB->fetchArray($result)) { |
|
662 | $data = $row['value']; |
|
663 | } |
|
664 | return json_encode(unserialize(stripslashes($data))); |
|
665 | } |
|
666 | } |
|
667 | } |
|
668 |