1<?php
2
3/**
4 * @author Dominik Eckelmann
5 */
6interface ConfigManagerConfigType {
7
8    /**
9     * Get the name of the config file. Will be displayed in the admin menu.
10     *
11     * @abstract
12     * @return string single line
13     */
14    function getName();
15
16    /**
17     * Get a short description of the config file to show in the admin menu.
18     * wiki text is allowed.
19     *
20     * @abstract
21     * @return string multi line
22     */
23    function getDescription();
24
25    /**
26     * get all paths to config file (local or protected).
27     * this is used to generate the config id and warnings if the files are not writeable.
28     *
29     * @abstract
30     * @return array
31     */
32    function getPaths();
33
34    /**
35     * Display the config file in some html view.
36     * You have to provide input elements for values.
37     * They will be embedded in a form to save changes.
38     *
39     * @abstract
40     * @return
41     */
42    function display();
43
44    /**
45     * this method can fetch the information from the fields generated in display().
46     * it has to handle the correct writing process.
47     *
48     * @abstract
49     * @return
50     */
51    function save();
52}
53