public
nobgit
read
NobMail
Based on mailcow: dockerized
Languages
Repository composition by tracked source files.
PHP
49%
JavaScript
35%
HTML
9%
CSS
4%
Shell
2%
Python
1%
Lua
0%
Perl
0%
Ruby
0%
SCSS
0%
Create file
Wiki Documentation
Clone
https://nobgit.com/orgs/nobgit/nobmail.git
ssh://[email protected]:2222/orgs/nobgit/nobmail.git
Commit
[Web] Add rsettings to API
69d57901
data/web/json_api.php | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
Diff
diff --git a/data/web/json_api.php b/data/web/json_api.php
index a19b6a2c..baeeb48b 100644
--- a/data/web/json_api.php
+++ b/data/web/json_api.php
@@ -101,6 +101,9 @@ if (isset($_SESSION['mailcow_cc_role']) || isset($_SESSION['pending_mailcow_cc_u
case "relayhost":
process_add_return(relayhost('add', $attr));
break;
+ case "rsetting":
+ process_add_return(rsettings('add', $attr));
+ break;
case "mailbox":
process_add_return(mailbox('add', 'mailbox', $attr));
break;
@@ -359,6 +362,33 @@ if (isset($_SESSION['mailcow_cc_role']) || isset($_SESSION['pending_mailcow_cc_u
}
break;
+ case "rsetting":
+ switch ($object) {
+ case "all":
+ $rsettings = rsettings('get');
+ if (!empty($rsettings)) {
+ foreach ($rsettings as $rsetting) {
+ if ($details = rsettings('details', $rsetting['id'])) {
+ $data[] = $details;
+ }
+ else {
+ continue;
+ }
+ }
+ process_get_return($data);
+ }
+ else {
+ echo '{}';
+ }
+ break;
+
+ default:
+ $data = rsetting('details', $object);
+ process_get_return($data);
+ break;
+ }
+ break;
+
case "oauth2-client":
switch ($object) {
case "all":
@@ -922,6 +952,9 @@ if (isset($_SESSION['mailcow_cc_role']) || isset($_SESSION['pending_mailcow_cc_u
case "relayhost":
process_delete_return(relayhost('delete', array('id' => $items)));
break;
+ case "rsetting":
+ process_delete_return(rsettings('delete', array('id' => $items)));
+ break;
case "syncjob":
process_delete_return(mailbox('delete', 'syncjob', array('id' => $items)));
break;
@@ -1017,6 +1050,9 @@ if (isset($_SESSION['mailcow_cc_role']) || isset($_SESSION['pending_mailcow_cc_u
case "relayhost":
process_edit_return(relayhost('edit', array_merge(array('id' => $items), $attr)));
break;
+ case "rsetting":
+ process_edit_return(rsettings('edit', array_merge(array('id' => $items), $attr)));
+ break;
case "delimiter_action":
process_edit_return(mailbox('edit', 'delimiter_action', array_merge(array('username' => $items), $attr)));
break;