Overview
Comment:Possibilité de définir des plugins système
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 90014d935d80dffb629af873c80fb9f43e502577
User & Date: bohwaz on 2014-04-12 00:39:43
Other Links: manifest | tags
Context
2014-04-12
00:40
Plugin système vide par défaut check-in: e1f6095884 user: bohwaz tags: trunk
00:39
Possibilité de définir des plugins système check-in: 90014d935d user: bohwaz tags: trunk
2014-04-10
18:16
Ne pas proposer une mise à jour entre RC, uniquement entre 0.5.9 et 0.6.0* check-in: fe1abf29a5 user: bohwaz tags: trunk
Changes

Modified src/config.dist.php from [15e51bb688] to [d696b6ae5b].

33
34
35
36
37
38
39



40
41
42
43
44
45
46

// Adresse URL HTTP(S) de Garradin
// Défaut : découverte à partir de HTTP_HOST ou SERVER_NAME + WWW_URI
define('Garradin\WWW_URL', 'http://garradin.net' . WWW_URI);

// Emplacement de stockage des plugins
define('Garradin\PLUGINS_ROOT', DATA_ROOT . '/plugins');




// Affichage des erreurs
// Si "true" alors un message expliquant l'erreur et comment rapporter le bug s'affiche
// en cas d'erreur. Sinon rien ne sera affiché.
// Défaut : true
const SHOW_ERRORS = true;








>
>
>







33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49

// Adresse URL HTTP(S) de Garradin
// Défaut : découverte à partir de HTTP_HOST ou SERVER_NAME + WWW_URI
define('Garradin\WWW_URL', 'http://garradin.net' . WWW_URI);

// Emplacement de stockage des plugins
define('Garradin\PLUGINS_ROOT', DATA_ROOT . '/plugins');

// Plugins fixes qui ne peuvent être désinstallés (séparés par une virgule)
const PLUGINS_SYSTEM = 'email,web';

// Affichage des erreurs
// Si "true" alors un message expliquant l'erreur et comment rapporter le bug s'affiche
// en cas d'erreur. Sinon rien ne sera affiché.
// Défaut : true
const SHOW_ERRORS = true;

Modified src/include/class.plugin.php from [82910e8d1d] to [76ff16e57c].

244
245
246
247
248
249
250
251








252
253
254
255
256
257
258
	/**
	 * Liste des plugins installés (en DB)
	 * @return array Liste des plugins triés par nom
	 */
	static public function listInstalled()
	{
		$db = DB::getInstance();
		return $db->simpleStatementFetchAssocKey('SELECT id, * FROM plugins ORDER BY nom;');








	}

	/**
	 * Liste les plugins qui doivent être affichés dans le menu
	 * @return array Tableau associatif id => nom (ou un tableau vide si aucun plugin ne doit être affiché)
	 */
	static public function listMenu()







|
>
>
>
>
>
>
>
>







244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
	/**
	 * Liste des plugins installés (en DB)
	 * @return array Liste des plugins triés par nom
	 */
	static public function listInstalled()
	{
		$db = DB::getInstance();
		$plugins = $db->simpleStatementFetchAssocKey('SELECT id, * FROM plugins ORDER BY nom;');
		$system = explode(',', PLUGINS_SYSTEM);

		foreach ($plugins as &$row)
		{
			$row['system'] = in_array($row['id'], $system);
		}

		return $plugins;
	}

	/**
	 * Liste les plugins qui doivent être affichés dans le menu
	 * @return array Tableau associatif id => nom (ou un tableau vide si aucun plugin ne doit être affiché)
	 */
	static public function listMenu()

Modified src/templates/admin/config/plugins.tpl from [5cc649127e] to [4dae78883c].

48
49
50
51
52
53
54

55

56

57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
                    <td>
                        <a href="{$plugin.url|escape}" onclick="return !window.open(this.href);">{$plugin.auteur|escape}</a>
                    </td>
                    <td>
                        {$plugin.version|escape}
                    </td>
                    <td class="actions">

                        <a href="{$admin_url}config/plugins.php?delete={$plugin.id|escape}">Désinstaller</a>

                        {if !empty($plugin.config)}

                            | <a href="{plugin_url id=$plugin.id file="config.php"}">Configurer</a>
                        {/if}
                    </td>
                </tr>
                {/foreach}
            </tbody>
        </table>
    {else}
        <p class="help">
            Aucune extension n'est installée.
            Vous pouvez consulter <a href="{Garradin\WEBSITE}">le site de Garradin</a> pour obtenir
            des extensions à télécharger.
        </p>
    {/if}

    {if !empty($liste_telecharges)}
    <form method="post" action="{$self_url|escape}">

        <fieldset>
            <legend>Extensions téléchargées</legend>
            <dl>
                {foreach from=$liste_telecharges item="plugin" key="id"}
                <dt>
                    <label>
                        <input type="radio" name="to_install" value="{$id|escape}" />
                        {$plugin.nom|escape}
                    </label>







>
|
>

>
|


















|







48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
                    <td>
                        <a href="{$plugin.url|escape}" onclick="return !window.open(this.href);">{$plugin.auteur|escape}</a>
                    </td>
                    <td>
                        {$plugin.version|escape}
                    </td>
                    <td class="actions">
                        {if empty($plugin.system)}
                            <a href="{$admin_url}config/plugins.php?delete={$plugin.id|escape}">Désinstaller</a>
                        {/if}
                        {if !empty($plugin.config)}
                            {if empty($plugin.system)}|{/if}
                            <a href="{plugin_url id=$plugin.id file="config.php"}">Configurer</a>
                        {/if}
                    </td>
                </tr>
                {/foreach}
            </tbody>
        </table>
    {else}
        <p class="help">
            Aucune extension n'est installée.
            Vous pouvez consulter <a href="{Garradin\WEBSITE}">le site de Garradin</a> pour obtenir
            des extensions à télécharger.
        </p>
    {/if}

    {if !empty($liste_telecharges)}
    <form method="post" action="{$self_url|escape}">

        <fieldset>
            <legend>Extensions à installer</legend>
            <dl>
                {foreach from=$liste_telecharges item="plugin" key="id"}
                <dt>
                    <label>
                        <input type="radio" name="to_install" value="{$id|escape}" />
                        {$plugin.nom|escape}
                    </label>