forked from XoopsModules25x/smallworld
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsettings.php
58 lines (52 loc) · 1.92 KB
/
settings.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php
/*
* You may not change or alter any portion of this comment or credits
* of supporting developers from this source code or any supporting source code
* which is considered copyrighted (c) material of the original comment or credit authors.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*/
/**
* SmallWorld
*
* @package \XoopsModules\Smallworld
* @license GNU GPL (https://www.gnu.org/licenses/gpl-2.0.html/)
* @copyright The XOOPS Project (https://xoops.org)
* @copyright 2011 Culex
* @author Michael Albertsen (http://culex.dk) <[email protected]>
* @link https://github.com/XoopsModules25x/smallworld
* @since 1.0
*/
use Xmf\Request;
use XoopsModules\Smallworld;
require_once __DIR__ . '/header.php';
/** @var \XoopsModules\Smallworld\Helper $helper */
require_once $helper->path('include/functions.php');
$GLOBALS['xoopsLogger']->activated = false;
if ($GLOBALS['xoopsUser'] && ($GLOBALS['xoopsUser'] instanceof \XoopsUser)) {
$check = new Smallworld\User();
$swDB = new Smallworld\SwDatabase();
$id = $GLOBALS['xoopsUser']->getVar('uid');
$settings = [];
if (Request::hasVar('posts', 'POST') && Request::hasVar('comments', 'POST')) {
//@todo these $_POST vars need to be sanitized
$post = serialize(
[
'posts' => $_POST['posts'],
'comments' => $_POST['comments'],
'notify' => $_POST['notify'],
]
);
if (0 < $id) { // this will only fail if \XoopUser->isGuest() is true
$swDB->saveSettings($id, $post);
}
echo json_encode($post);
} else {
$posts = stripslashes($swDB->getSettings($id));
echo json_encode($posts);
}
} else {
header('HTTP/1.1 403 Forbidden');
}