added "cc" and "body" for searching
[squirrelmail.git] / functions / plugin.php
CommitLineData
7b086a80 1<?php
2
3/**
4 ** plugin.php
5 **
6 ** This file provides the framework for a plugin architecture.
7 **
8 ** Plugins will eventually be a way to provide added functionality
9 ** without having to patch the SquirrelMail source code. Have some
c27d5a49 10 ** patience, though, as the these funtions might change in the near
7b086a80 11 ** future.
12 **
13 ** Documentation on how to write plugins might show up some time.
14 **
15 **/
16
17
18 $plugin_php = true;
19
20 // This function adds a plugin
21 function use_plugin ($name) {
22 include ('../plugins/'.$name.'/setup.php');
23 $function = 'squirrelmail_plugin_init_'.$name;
24 $function();
25 }
26
27 // This function executes a hook
28 function do_hook ($name) {
29 global $squirrelmail_plugin_hooks;
30 if (is_array($squirrelmail_plugin_hooks[$name])) {
31 reset($squirrelmail_plugin_hooks[$name]);
32
33 while (list ($id, $function) =
34 each ($squirrelmail_plugin_hooks[$name])) {
35 // Add something to set correct gettext domain for plugin
36 $function();
37 }
38 }
39 }
40
41 // On startup, register all plugins configured for use
c27d5a49 42 if (is_array($plugins))
43 while (list ($id, $name) = each ($plugins))
44 use_plugin($name);
7b086a80 45
46?>