diff options
author | Simon Rettberg | 2013-11-05 20:25:55 +0100 |
---|---|---|
committer | Simon Rettberg | 2013-11-05 20:25:55 +0100 |
commit | e277baed387b642bb7e6707b49e55da4719a9c79 (patch) | |
tree | 350343881ddc35fe53862e971506bc405a9a7fad /modules/sysconfig.inc.php | |
parent | Tolle neue APIs Sachen (diff) | |
download | slx-admin-e277baed387b642bb7e6707b49e55da4719a9c79.tar.gz slx-admin-e277baed387b642bb7e6707b49e55da4719a9c79.tar.xz slx-admin-e277baed387b642bb7e6707b49e55da4719a9c79.zip |
Working on download of remote configs
Diffstat (limited to 'modules/sysconfig.inc.php')
-rw-r--r-- | modules/sysconfig.inc.php | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/modules/sysconfig.inc.php b/modules/sysconfig.inc.php new file mode 100644 index 00000000..f8e6c6ad --- /dev/null +++ b/modules/sysconfig.inc.php @@ -0,0 +1,58 @@ +<?php + +User::load(); + +function render_module() +{ + if (!isset($_REQUEST['action'])) $_REQUEST['action'] = 'list'; + switch ($_REQUEST['action']) { + case 'remotelist': + list_remote_configs(); + break; + case 'list': + list_configs(); + break; + default: + Message::addError('invalid-action', $_REQUEST['action']); + break; + } +} + +function list_configs() +{ + if (!User::hasPermission('superadmin')) { + Message::addError('no-permission'); + return; + } + $files = array(); + foreach (glob(CONFIG_TGZ_LIST_DIR . '/*.tgz') as $file) { + $files[] = array( + 'file' => $file + ); + } + Render::addTemplate('tgz-list', array('files' => $files)); +} + +function list_remote_configs() +{ + if (!User::hasPermission('superadmin')) { + Message::addError('no-permission'); + return; + } + $data = Util::download(CONFIG_REMOTE_TGZ . '/list', 4, $code); + if ($code !== 200) { + Message::addError('remote-timeout', CONFIG_REMOTE_TGZ); + return; + } + $list = json_decode($data, true); + if (!is_array($list)) { + Message::addError('remote-parse-failed'); + return; + } + $id = 0; + foreach ($list as &$item) { + $item['id'] = ++$id; + } + Render::addTemplate('remote-tgz-list', array('files' => $list)); +} + |