Exemplo n.º 1
0
/**
 * Includes hook: process theme settings form data.
 *
 * @param array         $data data passed to the plugin.
 * @param ConfigManager $conf instance.
 *
 * @return array updated data.
 *
 * @throws Exception Couldn't write config file.
 */
function hook_launch_plugin_render_includes($data, $conf)
{
    if (isset($_POST['launch'])) {
        if (isset($_POST['reload']) && file_exists(PluginManager::$PLUGINS_PATH . '/launch_plugin/menu.json')) {
            $menu = json_decode(file_get_contents(PluginManager::$PLUGINS_PATH . '/launch_plugin/menu.json'));
            if (is_array($menu)) {
                $conf->set('plugins.LAUNCH_CUSTOM_MENU', $menu);
            }
        } else {
            $conf->set('plugins.LAUNCH_SUBTITLE', !empty($_POST['subtitle']) ? escape($_POST['subtitle']) : '');
            $conf->set('plugins.LAUNCH_VERTICAL_MENU', !empty($_POST['vertical_menu']));
            $conf->set('plugins.LAUNCH_HORIZONTAL_MENU', !empty($_POST['horizontal_menu']));
            $conf->set('plugins.LAUNCH_OVERRIDE_VERTICAL', !empty($_POST['override_vertical']));
        }
        $conf->write(true);
    }
    return $data;
}